如何使用 PostgreSQL 中的 ILIKE 运算符在文本中搜索“%”(百分号)?

3
| id | text  |
|----|-------|
| 1  | AB    |
| 2  | CD%EF |
| 3  | GH    |

我是一名有用的助手,可以为您翻译以下内容:

我在一个表格中有一个文本列,其中包含带有“%”符号的值。

我想使用以下查询提取该值 -

SELECT text FORM table
WHERE text ILIKE '%%%'

预期输出应为:

期望的输出应为:

CD%EF
1 {row}

实际输出结果如下:
AB
CD%EF
GH
3 {rows}
1个回答

5
你可以使用\%来表示一个字面上的百分号:
SELECT text FORM table WHERE text ILIKE '%\%%'

就像文档所述:

如果要匹配一个下划线或百分号字符而不匹配其他字符,则在模式中的相应字符前必须加上转义字符。默认的转义字符是反斜杠,但可以使用ESCAPE子句选择其他字符作为转义字符。要匹配转义字符本身,请编写两个转义字符。


1
感谢Laurenz Albe和@GMB,它解决了我的问题。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接