【问题标题】:How to remove the last occurring comma, the comma itself may not be the last character from a String in SQL如何删除最后出现的逗号,逗号本身可能不是SQL中字符串的最后一个字符
【发布时间】:2018-09-19 22:46:00
【问题描述】:

表结构是这样的:-

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 中有没有其他方法可以做到这一点,使用正则表达式用户定义的函数等?

【问题讨论】:

  • CONCAT(TRAILING, '}') 而不是 CONCAT(TRAILING, ',}')` 应该这样做。
  • @Gordon Linoff 不明白,它会怎么做。

标签: mysql sql regex replace


【解决方案1】:

请尝试:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 2013-01-23
    • 2020-10-09
    相关资源
    最近更新 更多