SQL选择列以\开头的位置\

时间:2012-02-04 14:22:03

标签: sql pattern-matching

我正在尝试查找数据以ColumnX开头的\中的所有数据。
like '\%'我正在寻找什么?但\必须在开头。

4 个答案:

答案 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)

这就是你需要的

enter image description here