【问题标题】:Turn semicolon separated string into JSON array in MySQL在 MySQL 中将分号分隔的字符串转换为 JSON 数组
【发布时间】:2021-08-25 09:14:35
【问题描述】:

我需要创建一个函数,将这些数据:“test1@test.com;test2@test.com”转换为 JSON 格式的字符串:“[”test1@test.com”, “test2@test.com” ]"。

在 MySQL 函数中... 有什么想法吗?

【问题讨论】:

  • 请注意 - 这并不是 MySQL 的真正用途。
  • CONCAT() 和 REPLACE() - 仅此而已。

标签: mysql arrays string function


【解决方案1】:
SET @value := '"test1@test.com;test2@test.com"';
SELECT @value, CONCAT('"[', REPLACE(@value, ';', '", "'), ']"');
@value CONCAT('"[', REPLACE(@value, ';', '", "'), ']"')
"test1@test.com;test2@test.com" "["test1@test.com", "test2@test.com"]"

db小提琴here

【讨论】:

  • 感谢 Akina 的快速回答!进一步的问题:) - 如果我使用此代码:SET @value := client.email SELECT @value, CONCAT('"[', REPLACE(@value, ';', '", "'), ']"'); 它会改变所有 client.email 的吗?
  • @kg Select 不能改变任何东西。需要更新。 UPDATE client SET email = CONCAT('"[', REPLACE(email, ';', '", "'), ']"');
  • 非常感谢!
猜你喜欢
  • 2019-11-12
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 2019-11-18
  • 2021-12-18
  • 2021-08-09
相关资源
最近更新 更多