LIKE中的SQL下划线

时间:2018-11-28 17:16:35

标签: sql sql-like

程序员!

我实际上并没有面对这个问题,但是我想知道如何去做... 如果我想查找以a开头并且总共3个字符的数据,我会写:

SELECT Client_ID
FROM Clients
WHERE Client_ID LIKE 'a__'

我的问题是,如果我想要一个包含3个字符且第一个字符为_的单词怎么办?如何使我的代码理解第一个字符是下划线,而不仅仅是存在的任何字符?

下面的代码可以给我任何包含3个字符的单词,无论它们是什么。但是,如果我想要一个以'_'开头并包含其他2个字符的client_ID怎么办?

SELECT Client_ID
FROM Clients
WHERE Client_ID LIKE '___'

感谢您的回答!

4 个答案:

答案 0 :(得分:2)

SELECT Client_ID
FROM Clients
WHERE Client_ID LIKE '\_\_\_';

答案 1 :(得分:1)

您可以按LIKE模式对通配符进行转义。我通常会明确定义转义字符:

WHERE Client_ID LIKE '$___' ESCAPE '$'

默认的转义字符是反斜杠,因此这也应该起作用:

WHERE Client_ID LIKE '\___'

答案 2 :(得分:1)

我认为您只需要使用[_]转义_,然后添加其余的___即可捕获3个字符。可能是这样的:

选择Client_ID 来自客户 其中的ClientID如“ [_] ___%”

希望有帮助!

答案 3 :(得分:0)

这将起作用:

SELECT Client_ID
FROM Clients
WHERE regexp_like(Client_ID,'^_{1}(.){2}$');