如何在SQL中进行精确的字符串匹配

时间:2015-01-29 17:00:42

标签: mysql sql

我在表PC和PC /名称中有两个值。但是当我写一个查询时,

select * from TransDetail TD where td.ModUserId like '%PC/%'

它给了我两个结果。有没有办法只获得一条记录?

3 个答案:

答案 0 :(得分:4)

您应该像这样制作WHERE子句:

select * 
from TransDetail TD
where TD.ModUserId ='PC'

通过这种方式,您将获得与“PC'”匹配的结果。的即可。
您所做的之类就是给出了PC可以是字段的开始/中间/结尾的案例结果

答案 1 :(得分:2)

您应该使用此查询来代替值PC的完全匹配:

SELECT * FROM TransDetail TD WHERE TD.ModUserId = 'PC';

在WHERE子句中使用%时,您使用的通配符代表该位置中出现0次或更多次字符。

此外,如果您实际使用LIKE '%PC/%',它应该与值PC /名称匹配,而不是值PC,因为语句中有额外的“/”字符。

答案 2 :(得分:0)

试试这个..

select * from TransDetail TD where td.ModUserId like '%PC'