gpt4 book ai didi

mysql - SQL 如何选择所有 utf8mb4 字符?

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

我有这个问题:

SELECT count(*) from TABLE WHERE LENGTH(COLUMN) !=CHAR_LENGTH(COLUMN);

如果计数返回一个大于零的值,它告诉我某行中有非 ASCII 字符。

我怎么知道表中是否有 utf8mb4 字符?

有没有办法查询所有utf8mb4字符?

最佳答案

这取决于你所说的“utf8mb4 字符”是什么意思。这句话完全由“utf8mb4字符”组成。这句话完全由“ascii”字符组成。

假设您的意思是“非 ASCII”并且列是 CHARACTER SET utf8mb4,那么您的查询应该可以正常工作。

此技术适用于任何多字节字符集,如 utf8、big5 等。它不适用于单字节字符集,如 latin1、latin5 等。

如果您想从列中提取非 ascii 字节,最好使用某些应用程序语言来完成。它可能有一种直接的方法,或者您可以获取 HEX 并使用正则表达式 [CDEF].

查找一些十六进制对

如果您的意思是“utf8mb4”而不是“utf8”,那么十六进制将是F。并且可以通过以下方式发现该行

HEX(col) RLIKE "^(..)*F."

关于mysql - SQL 如何选择所有 utf8mb4 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35957254/

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