SQL LIKE只有一个字母

时间:2013-12-11 10:30:54

标签: sql sql-like

当我在SQL中使用LIKE语句时,

例如,

      SELECT * FROM table WHERE name = "%k"

它将返回所有行,其中name以k结尾。

它可以返回:Ok,OOk,OOOk,

我如何做同样的陈述,但只有一个字母,所以它只返回Ok。

或2个字母,所以它只返回OOk?

5 个答案:

答案 0 :(得分:7)

_是一个单字符通配符。

SELECT * FROM table WHERE name = `_k`

请参阅此IBM Reference

答案 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'