这表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'将匹配包含可印刷字符的任意字符串)。

请参阅文档

scroll top