PostgreSQL-如何检查我的数据是否包含反斜杠

PostgreSQL-如何检查我的数据是否包含反斜杠,postgresql,backslash,Postgresql,Backslash,从列类似于“%/%”的表中选择计数(*) 提供包含“/”的值的数目 如何对“\”执行相同操作?摘自: 请注意,反斜杠在字符串文字中已经有特殊含义,因此要编写包含反斜杠的模式常量,必须在SQL语句中写入两个反斜杠(假设使用转义字符串语法,请参阅第4.1.2.1节)。因此,编写一个实际匹配文本反斜杠的模式意味着在语句中编写四个反斜杠。可以通过使用escape选择不同的转义字符来避免这种情况;那么反斜杠就不再是特别喜欢的了。(但它对于字符串文字解析器来说仍然是特殊的,所以您仍然需要其中的两个。) 您需

从列类似于“%/%”的表中选择计数(*)

提供包含“/”的值的数目

如何对“\”执行相同操作?

摘自:

请注意,反斜杠在字符串文字中已经有特殊含义,因此要编写包含反斜杠的模式常量,必须在SQL语句中写入两个反斜杠(假设使用转义字符串语法,请参阅第4.1.2.1节)。因此,编写一个实际匹配文本反斜杠的模式意味着在语句中编写四个反斜杠。可以通过使用escape选择不同的转义字符来避免这种情况;那么反斜杠就不再是特别喜欢的了。(但它对于字符串文字解析器来说仍然是特殊的,所以您仍然需要其中的两个。)


您需要
E'\\\'
,因为
LIKE
的参数是一个正则表达式,并且正则表达式转义字符已经是
\
(例如
~E'\\\\\\\\\'
将匹配任何包含可打印字符的字符串)


更好地查看

——不要使用like,只使用标准位置:

select count(*) from from table where 0 < position( E'\\' in column );
从表中选择count(*),其中0
select count(*) from from table where 0 < position( E'\\' in column );