我正在尝试查找数据以ColumnX
开头的\
中的所有数据。
like '\%'
我正在寻找什么?但\
必须在开头。
答案 0 :(得分:7)
您的语法在标准SQL中有效,因为\
不是字符串中的元字符。但这在很大程度上取决于您实际使用的DBMS和版本 - 以及您当前的设置。
在 PostgreSQL 过去用于解释的字符串中的POSIX样式转义,因此您必须将\
加倍到\\
才能得到普通的反斜杠。
SQL标准另有说法。所以PostgreSQL人员已经准备好多年来切换到标准行为,引入了特殊的转义字符串语法E''
和
配置设置escape_string_warning
,让人们了解模糊的语法。
在版本9.1中,他们最终切换到“符合标准”的字符串。现在,如果全局用户配置使用standard_conforming_strings = on
,您只需编写:
... col like '\%'
否则你必须写:
... col like E'\\%'
另外,请注意\
在许多客户端程序和编程语言中具有特殊含义。如果字符串在到达数据库引擎之前被解释,则可能需要将\
翻倍。例如,请参阅此related question。
答案 1 :(得分:3)
确实'\%'是您所需要的。以下语句将列出以'\'开头的所有数据。
select * from table_name where columnX like '\%'
答案 2 :(得分:1)
试试这个......
select * from myTable where ColumnX like '\%'
祝你好运!!!
答案 3 :(得分:1)
这就是你需要的