gpt4 book ai didi

MYSQL检测希腊语大写

转载 作者:行者123 更新时间:2023-11-30 22:00:09 24 4
gpt4 key购买 nike

在古希腊单词的 MySQL 数据库中(在 utf8mb4_unicode_ci 中整理)我试图检测哪些单词以大写字母开头,在这种情况下将值 1 添加到包含字段。我尝试了几种使用二进制的选项,例如

UPDATE word
SET include = 1
WHERE LEFT(`lemma`, 1) REGEXP BINARY '[Α-Ω]'

还有其他带有 UPPER 等的解决方案。都没有用。有什么想法吗?

最佳答案

REGEXP 仅适用于字节,因此它在非英文字母上会命中或未命中。

MariaDB 10.0.5 有“pcre”,所以它可以处理 utf8 正则表达式。

α-Ω 是十六进制CE91-CEA9

WHERE HEX(lemma) REGEXP '^CE'

将检查是否以希腊字母开头。 (它会捕获所有΄νΆ·ΈΉιΓΎΏνΑΒΓΔΕΖΗΘΙΓΛΜΝΞΟΠΡΣΤΥΦΧΩιναέήιαβγδεζηθικλμνξο。)

要限制为仅大写字母,Α-Ω(根据您的要求):

WHERE HEX(LEFT(lemma, 1)) BETWEEN 'CE91' AND 'CEA9'

当我这样做时,这会检查 lemma 中的希腊语 anywhere:

WHERE HEX(lemma) REGEXP '^(..)*CE'

(再次假设更长的字母列表,而不仅仅是 Α-Ω。)

(我的评论适用于 CHARACTER SET utf8utf8mb4;任何 COLLATION。)

关于MYSQL检测希腊语大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43652397/

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