如何使用LIKE查询在PostgreSQL中找到文字百分号(%)?

时间:2015-10-08 05:15:37

标签: postgresql sql-like

我在表格中有character varying个条目某些(并非所有)值包含百分比,例如'12%''97%'等。我想要找到包含百分比的所有值。换句话说,我想找到所有以百分号结尾的值('%')。

3 个答案:

答案 0 :(得分:15)

您可以尝试这样:

 <like predicate> ::=
      <match value> [ NOT ] LIKE <pattern>
        [ ESCAPE <escape character> ]

 <match value> ::= <character value expression>

 <pattern> ::= <character value expression>

 <escape character> ::= <character value expression>

<强>格式

body {
    width: 50%;
    margin: 0 auto; //optional if you want your page in center
}

答案 1 :(得分:7)

你必须逃避文字%符号。默认情况下,转义字符是反斜杠:

SELECT * FROM my_table  WHERE my_column LIKE '%\%';

在这种情况下,第一个%符号与my_column中的任何起始序列匹配。剩余的\%被解释为文字%字符。因此,组合是:匹配以%字符结尾的任何内容。

SQLFiddle

答案 2 :(得分:0)

我最终使用了正则表达式:

select * from my_table where my_column ~ '%$';

但是,我仍然想知道是否可以使用LIKE运算符/比较。