gpt4 book ai didi

postgresql - 如何使用不区分大小写的模式与 PostgreSQL 和变音符号匹配?

转载 作者:行者123 更新时间:2023-11-29 12:39:13 25 4
gpt4 key购买 nike

我试图让 PostgreSQL 8.4.3 在字符串包含非 ASCII 字符(如德语变音符号)时使用其 ~* 运算符进行不区分大小写的模式匹配。数据库、终端和其他一切都配置为使用 UTF-8。

问题简述如下:

SELECT 'Ö' ~* 'ö';      -- false

还有其他变体可以工作:

SELECT 'Ö' ILIKE 'ö';     -- true
SELECT 'Ö' ~* '[Öö]'; -- true
SELECT LOWER('Ö') ~* 'ö'; -- true

这些选择都没有让我特别高兴。 ILIKE 不使用正则表达式。 [Öö] 涉及重写搜索词。 LOWER() 可能是最好的解决方法,但我真的很想让 ~* 运算符像预期的那样工作。

提前致谢。

最佳答案

这是 9.0 之前的 PostgreSQL 版本中的一个错误。
它在 9.0 更新日志中:http://www.postgresql.org/docs/9.0/static/release-9-0.html#AEN99075

这是我在 9.0 beta2 中使用 Ubuntu 进行的测试:

SELECT 'Ö' ~* 'ö';
?column?
----------
t
(1 row)

关于postgresql - 如何使用不区分大小写的模式与 PostgreSQL 和变音符号匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com