當我用像我的SQL語句,SQL LIKE只有一個字母
例如,
SELECT * FROM table WHERE name = "%k"
這將返回所有行,其中name日k結束。
它可以返回:好吧,OOK,OOOk,
我該怎麼辦相同的語句,但有一個字母,所以它僅返回好。
或2個字母,所以它只返回OOk?
當我用像我的SQL語句,SQL LIKE只有一個字母
例如,
SELECT * FROM table WHERE name = "%k"
這將返回所有行,其中name日k結束。
它可以返回:好吧,OOK,OOOk,
我該怎麼辦相同的語句,但有一個字母,所以它僅返回好。
或2個字母,所以它只返回OOk?
使用等號(=)或IN操作代替LIKE操作的:
SELECT * FROM table WHERE name IN ('Ok', 'OOk')
是的,那就是我真正需要的!謝謝 ! – user3090649
@ user3090649很高興能幫到你! –
使用通配符_
。它只匹配一個字符。
_k
好的。 __k
用於OOK
取決於你提供
對於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"
您應該使用下劃線(_
)字符。請參閱有關operator LIKE的文檔。
所以,查詢,你需要(k
前1或2個字符)是:
SELECT * FROM table WHERE name LIKE '_k' OR name LIKE '__k'
有更多的行,我不需要只有兩個。我需要sql來選擇以'k'結尾的行並且長度爲2個字符 – user3090649
在這種情況下,使用'WHERE name LIKE'%k'AND LEN(name)= 2' – Dan