gpt4 book ai didi

MySQL 字符串只包含某些 unicode 字符

转载 作者:行者123 更新时间:2023-11-29 01:58:08 26 4
gpt4 key购买 nike

我需要在数据库中查询只包含一组特定的 Unicode 日文字符的条目。

我试过使用 WHERE word RLIKE '^([あいうえお])+$' 但由于在 MySQL 的正则表达式中缺乏 Unicode 支持,这不适用于日语。

还有其他方法可以实现吗?

最佳答案

MySQL 将每个字符视为一个字节序列,因此 是 0xE3、0x81、0x82 而您的 [あいうえお] 实际上是在寻找任何字节序列 0xE3 , 0x81, 0x82, 0x84, 0x86, 0x88 和 0x8A。这将匹配 很好,但它也会匹配不对应于列表中单个字符的其他序列,例如 0xE3, 0x82, 0x81 即 .

当正则表达式引擎将每个字符视为多个符号时,另一种说法 [あいうえお] 仍然有效的说法是 (あ|い|う|え|お).

SELECT 'あ' RLIKE '^([あいうえお])+$';    -- 1
SELECT 'め' RLIKE '^([あいうえお])+$'; -- 1
SELECT 'あ' RLIKE '^(あ|い|う|え|お)+$'; -- 1
SELECT 'め' RLIKE '^(あ|い|う|え|お)+$'; -- 0

关于MySQL 字符串只包含某些 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572895/

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