在SQL中的LIKE运算符 [英] LIKE operator in sql

查看:96
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆