程序员!
我实际上并没有面对这个问题,但是我想知道如何去做...
如果我想查找以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 '___'
感谢您的回答!
答案 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}$');