sql“喜欢”表达式

时间:2015-11-17 07:25:07

标签: sql sql-server tsql

我可以将like表达式添加到SQL语句中吗?

select @Count = SUM(cast(Value as int)) 
from tTag
where Name like '[Car],[Truck],[Bike]'

4 个答案:

答案 0 :(得分:1)

我希望您在like运算符中添加通配符,您可以使用IN运算符。试试这个。

Select @Count = SUM(cast(Value as int)) 
from tTag
where Name like '[Car]' 
   or Name like '[Truck]'
   or Name like '[Bike]'

答案 1 :(得分:1)

如果您正在搜索整个单词,请使用:

where Name = 'Car' or Name = 'Truck' or Name = 'Bike' --or
where Name = '[Car]' or Name = '[Truck]' or Name = '[Bike]' --or
where Name in ('Car', 'Truck', 'Bike') --or
where Name in ('[Car]', '[Truck]', '[Bike]')

如果您要搜索单词的一部分,请使用:

where Name like '%Car%' or Name like '%Truck%' or Name like '%Bike%'

但是,如果您要搜索some text [car] some text之类的字符串,那么这将不起作用:

where Name like '%[Car]%' or Name like '%[Truck]%' or Name like '%[Bike]%'

因为%[Car]%这将匹配例如some text ca some text。您应该转义[]符号。但这取决于数据库引擎。例如Sql Server

 where Name like '%\[Car\]%' ESCAPE '\' or 
       Name like '%\[Truck\]%' ESCAPE '\' or 
       Name like '%\[Bike\]%' ESCAPE '\'

答案 2 :(得分:0)

如果您正在寻找完全匹配,请尝试IN (...)

 where Name in ('[Car]', '[Truck]', '[Bike]')

 where Name in ('Car', 'Truck', 'Bike')

取决于您的需求。

答案 3 :(得分:0)

Select @Count = SUM(cast(Value as int)) from tTag
 where Name like '[Car]' or Name like '[Truck]' or name like '[Bike]'