PostgreSQL LIKE 运算符与连字符不匹配

发布于 2024-12-01 02:59:34 字数 346 浏览 4 评论 0原文

我在 PostgreSQL 中遇到了 LIKE 运算符的问题。它与包含 - 字符的模式不匹配。我尝试使用 ESCAPE 选项转义这些字符,但它仍然不起作用。

查询:

select * from footable where trascrizione like '% [---]is Abraam %';

示例数据(trascrizione 列的内容):

[---]is Abraam [e]t Ise[---] / ((crux quadrata))

我该如何解决这个问题?

I've a problem with LIKE operator in PostgreSQL. It does not match patterns that contain the - character. I've tried to escape these characters using the ESCAPE option, but it still does not work.

Query:

select * from footable where trascrizione like '% [---]is Abraam %';

Sample data (contents of column trascrizione):

[---]is Abraam [e]t Ise[---] / ((crux quadrata))

How can I solve this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盗心人 2024-12-08 02:59:34

该模式不匹配,因为 [---]is Ambraam 之前没有空格。您的模式中 %[ 字符之间有一个空格,并且要求数据中存在该空格。尝试LIKE '%[---]is Abraam %'

That pattern would not match because there is no space before [---]is Ambraam. There is a space in your pattern, between the % and [ characters, and it's requiring that space to be in your data. Try LIKE '%[---]is Abraam %'.

烟若柳尘 2024-12-08 02:59:34

请出示代码。我没有问题:

SELECT * FROM a WHERE a LIKE '%-' AND b LIKE '%-%' AND c LIKE '-%';
  a   | b |  c   | d | e 
------+---+------+---+---
 foo- | - | -bar |   | 
(1 Zeile)

Please show the code. I have no problem:

SELECT * FROM a WHERE a LIKE '%-' AND b LIKE '%-%' AND c LIKE '-%';
  a   | b |  c   | d | e 
------+---+------+---+---
 foo- | - | -bar |   | 
(1 Zeile)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文