当我在SQL中使用LIKE语句时,
例如,
SELECT * FROM table WHERE name = "%k"
它将返回所有行,其中name以k结尾。
它可以返回:Ok,OOk,OOOk,
我如何做同样的陈述,但只有一个字母,所以它只返回Ok。
或2个字母,所以它只返回OOk?
答案 0 :(得分:7)
答案 1 :(得分:0)
使用等于运算符(=)或IN运算符而不是LIKE运算符:
SELECT * FROM table WHERE name IN ('Ok', 'OOk')
答案 2 :(得分:0)
使用_
通配符。它只匹配一个字符。
_k
好的。
Ook __k
答案 3 :(得分:0)
取决于您提供的长度
对于1个字符'X',后跟k
Select *
from table
where length(name) = 2
AND name = "%k"
对于2个字符'X',后跟k
Select *
from table
where length(name) = 3
AND name = "%k"
答案 4 :(得分:0)
您应该使用下划线(_
)字符。请参阅有关operator LIKE。
因此,您需要的查询(k
之前的1或2个字符)是:
SELECT * FROM table WHERE name LIKE '_k' OR name LIKE '__k'