求mysql 的SQL命令 关于逗号分隔的字符串删除或者替换

时间:2022-09-02 20:15:40


表:   news_archives
字段:keywords

删除指定字段逗号分割的  单个字符的字符串,或都是英文或者数字的字符串

如:
keywords='我们,abc,我,历史'
keywords='大,12345,中国,本'

执行命令后为:
keywords='我们,历史'
keywords='中国

也就是
1、删除英文或数字的字符串
2、删除单个字符长度(单个英文或单个中文)的字符串


UPDATE news_archives SET
keywords = replace(keywords, ..............) 
WHERE......

7 个解决方案

#1



建议写个存储过程来处理。

#2



思路是 先把数据按照逗号分拆,然后对拆分后的数据进行过滤,这样比较简单

#3


要怎么写呢?思路我明白一些,但就是语句写不对,所以来求助。

#4


写存储过程,然后逐一字符判断是否为中文。

#5


这个不错,是不是可以根据中文字符在数据库的长度来判断,先排除英文或数字的字符串,再使用字符集长度

#6


要怎么写呢?

#7


我最近也碰到这个问题,楼主解决了嘛

#1



建议写个存储过程来处理。

#2



思路是 先把数据按照逗号分拆,然后对拆分后的数据进行过滤,这样比较简单

#3


要怎么写呢?思路我明白一些,但就是语句写不对,所以来求助。

#4


写存储过程,然后逐一字符判断是否为中文。

#5


这个不错,是不是可以根据中文字符在数据库的长度来判断,先排除英文或数字的字符串,再使用字符集长度

#6


要怎么写呢?

#7


我最近也碰到这个问题,楼主解决了嘛