如何删除最后出现的逗号,逗号本身可能不是SQL中String的最后一个字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除最后出现的逗号,逗号本身可能不是SQL中String的最后一个字符相关的知识,希望对你有一定的参考价值。

表结构如下: -

mysql> select * from formjson;
+----+---------------------------------------------------------+
| id | jsonData                                        |
+----+---------------------------------------------------------+
|  1 | {"721005":"NO","720931":"1156","720940":"aegiseng",}    |
|  2 | {"721005":"NO","720931":"1156","720940":"aegiseng",}    |
|  3 | {"721005":"NO","720931":"50253","720940":"d1-gateway",} |
|  4 | {"721005":"NO","720931":"11102","720940":"uxinfra",}    |
|  5 | {"720931":"1152","720940":"zappops-notify",}            |
+----+---------------------------------------------------------+
5 rows in set (0.00 sec)

我想删除jsonData中最后一个出现的逗号,即',}'到'}'

我试过了

mysql> update formjson set jsonData=CONCAT(TRIM(TRAILING ',}' FROM jsonData),'}') where jsonData like '%,}';

以上是有效的。

但是在MySQL中有没有其他方法可以使用regexp用户定义函数等?

答案

请试试:

UPDATE formjson SET jsonData=REPLACE(jsonData, ',}', '}') WHERE jsonData LIKE '%,}'

以上是关于如何删除最后出现的逗号,逗号本身可能不是SQL中String的最后一个字符的主要内容,如果未能解决你的问题,请参考以下文章

如何删除最后一位数字后的逗号? [复制]

Java如何将拼接字符串中的最后一个逗号去掉

如何从输出中删除最后一个逗号

sql server里如何将一组用逗号分隔的字符串分解并插入到另一张表中,比如:11873,27827, 也可能是好多

如何删除 D3 轴刻度中的逗号并删除最后一个刻度?

如何删除数组中的最后一个逗号和空格? Java [重复]