在SQL中的LIKE运算符 [英] LIKE operator in sql
本文介绍了在SQL中的LIKE运算符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
BEGIN
DECLARE @T VARCHAR(20)
DECLARE @QRY NVARCHAR(200)
SET @T='X'
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE %'+@T+'%'
EXEC(@QRY)
END
错误显示
''X'附近的语法不正确。
error showing
Incorrect syntax near ''X''.
推荐答案
你的查询中需要引号试试:
You need quotes in your query try:
BEGIN
DECLARE @T VARCHAR(20)
DECLARE @QRY NVARCHAR(200)
SET @T='X'
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE ''%'+@T+'%''';
EXEC(@QRY)
END
引用我的朋友,报价。
更改:
Quotes my friend, quotes.
Change:
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE %'+@T+'%'
要
To
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE ''%'+@T+'%'''
嗨Josh,>
试试这个.....
Hi Josh,
Try This.....
BEGIN
DECLARE @T VARCHAR(20)
DECLARE @QRY NVARCHAR(200)
SET @T='X'
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE ''%'+@T+'%'''
PRINT @QRY
EXEC(@QRY)
END
< br $> b $ b(或)
(or)
BEGIN
DECLARE @T VARCHAR(20)
DECLARE @QRY NVARCHAR(200)
SET @T='X'
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE '+CHAR(39)+'%'+@T+'%'+CHAR(39)
PRINT @QRY
EXEC(@QRY)
END
您错过了字符串比较中的单引号。
问候,
GVPrabu
You missed Single Quote in String Comparison.
Regards,
GVPrabu
这篇关于在SQL中的LIKE运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文