gpt4 book ai didi

mysql - 如何在 MySQL 中搜索组合(非空格)字符

转载 作者:行者123 更新时间:2023-11-29 18:25:49 26 4
gpt4 key购买 nike

在古希腊单词的 MySQL 数据库中,我想查找字母下方带有点的字符的所有单词(Unicode 字符“COMBINING DOT BELOW”(U+0323))并将其删除。

我尝试了各种编码,但似乎都不起作用......

最佳答案

我假设表t中有一个列col,并且colCHARACTER SET utf8 (或 utf8mb4)。

SELECT ...
FROM t
WHERE HEX(col) REGEXP '^(..)*CCA3'

将找到所有带有 U+0323 的行(编码为 UTF-8 CCA3)。

唉,没有简单的方法可以在 SQL 中修改 col

如果您有 MariaDB,那么 UNHEX(REGEXP_REPLACE(HEX(col), 'CCA3', '')) 几乎可以工作。问题是它可能未对齐(在奇怪的边界处)。

另一个想法:REPLACE(col, UNHEX('CCA3'), '') 可能适用于 MySQL 或 MariaDB。但是,它可能会遇到排序规则问题。所以,也许这会起作用:REPLACE(col COLLATE utf8_bin, UNHEX('CCA3'), '')

关于mysql - 如何在 MySQL 中搜索组合(非空格)字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46204422/

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