我有一个表,其中包含descr列,该列存储字符串值。descr中的一些值包含多字节字符,我想知道所有这些行,以便可以删除这些字符。如何使用MySQL函数查询表,以确定哪些行包含多字节字符。我使用的是MySQL 5.1版
发布于 2011-09-28 00:19:12
SELECT ...
FROM yourtable
WHERE CHAR_LENGTH(descr) <> LENGTH(descr)char_length是多字节感知的,它返回实际的字符数。Length()是一个纯字节计数,所以3个字节的char返回3。
发布于 2011-09-28 00:15:05
您是否尝试过在描述列上使用排序规则和字符集函数?
您可以在此处找到对此函数的描述:http://dev.mysql.com/doc/refman/5.1/en/information-functions.html
我认为对于您的需要,它更适合COERCIBILITY函数。你可以这样做:
select COERCIBILITY(descr, COLLATE utf8) from myTable; 如果此函数返回0,则必须编辑该行。
https://stackoverflow.com/questions/7572294
复制相似问题