Mysql去除中文字符&判断字段是否有中文字符

Mysql去除中文字符&判断字段是否有中文字符,第1张

背景:用户表中的name存的是用户名字的拼音和中文

需求:名字去除掉所有的中文字符

解决方案:

通过CONVERT(name USING ASCII)把中文转换为?,然后再进行替换。

引申问题:怎么判断字段包含中文字符

方法1:查询CONVERT(name USING ASCII)转换为后有?的数据。

方法2:通过正则表达式查询,'[^ -~]'或'e[4-9][0-9a-f]{4}'或者'^(..)*(E[4-9])'表示含中文。

方法3:通过length()和char_length()返回值不同进行查询。

参考链接:

( https://blog.csdn.net/u012731379/article/details/64125572 )

mysql好久不用了,不记得有没有replace这个函数了。

如果有的话,有个笨办法,但也挺快的,就26个字母,10个数字嘛。

update supply set Description = replace(description, 'a', '')

把其中的a按个换,直到都完事儿了,执行完一次,换下个字符。

这只是个想法,上面的语法不知道对不对。

虽然是笨办法,但相信5分钟内也能解决问题了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7589809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存