PostgreSQL的 - 如何检查我的数据包含反斜杠
-
22-08-2019 - |
题
这表SELECT COUNT(*)WHERE柱ILIKE '%/%';
给我值的包含数 “/”
如何做同样的 “\”?
解决方案
SELECT count(*)
FROM table
WHERE column ILIKE '%\\\\%';
其他提示
从文档摘录:
请注意反斜杠已经在字符串中有特殊的意义,所以写一个包含反斜杠必须写在SQL语句中两个反斜杠的模式常量(假设逃逸字符串语法时,见4.1.2.1)。因此,写一个匹配实际文字反斜杠的模式意味着写在声明中四个反斜杠。你可以通过用ESCAPE选择一个不同的逃逸字符来避免这样;那么反斜杠不是特殊到了就好。 (但它仍然是特殊字符串字面解析器,所以你还是需要两个人。)
更好的是 - 不要使用类似,只使用标准的位置:
select count(*) from from table where 0 < position( E'\\' in column );
您需要E'\\\\'
因为LIKE
参数是一个正则表达式和正则表达式逃逸炭已经\
(例如~ E'\\w'
将匹配包含可印刷字符的任意字符串)。
请参阅文档一>
不隶属于 StackOverflow