首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySQL数据库中检查表中的行是否包含多字节字符?

问如何在MySQL数据库中检查表中的行是否包含多字节字符?
EN

Stack Overflow用户
提问于 2011-09-28 00:10:34
回答 2查看 225关注 0票数 1

我有一个表,其中包含descr列,该列存储字符串值。descr中的一些值包含多字节字符,我想知道所有这些行,以便可以删除这些字符。如何使用MySQL函数查询表,以确定哪些行包含多字节字符。我使用的是MySQL 5.1版

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-28 00:19:12

代码语言:javascript
复制
SELECT ...
FROM yourtable
WHERE CHAR_LENGTH(descr) <> LENGTH(descr)

char_length是多字节感知的,它返回实际的字符数。Length()是一个纯字节计数,所以3个字节的char返回3。

票数 3
EN

Stack Overflow用户

发布于 2011-09-28 00:15:05

您是否尝试过在描述列上使用排序规则和字符集函数?

您可以在此处找到对此函数的描述:http://dev.mysql.com/doc/refman/5.1/en/information-functions.html

我认为对于您的需要,它更适合COERCIBILITY函数。你可以这样做:

代码语言:javascript
复制
 select COERCIBILITY(descr, COLLATE utf8) from myTable; 

如果此函数返回0,则必须编辑该行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7572294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档