【问题标题】:How to Split String {} with Multiple Values如何拆分具有多个值的字符串 {}
【发布时间】:2017-11-03 05:41:57
【问题描述】:

假设我有一个类型为 STRING 的列“debugdata”。给定用户的示例值如下所示:

{"TITLE_DESCRIPTION":"approve","CATEGORY":"approve"}

但是,假设 TITLE_DESCRIPTION 可以有多个值

{"TITLE_DESCRIPTION":"No, name does not match,No, summary is not clear","CATEGORY":"Yes"}

如何将“否,名称不匹配”和“否,摘要不清楚”分成两列?

我尝试过使用JSON_EXTRACTJSON_ARRAY_GET 以及其他JSON 语法,但我无法将其分成两列。谢谢!

【问题讨论】:

  • @SakuraKinomoto - MySQL 帖子的副本?
  • 这没有多大意义。你为什么只在第二个逗号上拆分它?想想其他包含多个逗号的 "TITLE_DESCRIPTION" 值会发生什么。

标签: sql json presto


【解决方案1】:

假设 x 是您示例中的地图

let x = {"TITLE_DESCRIPTION":"No, name does not match,No, summary is not clear","CATEGORY":"Yes"}

所以你需要做的就是:

let b = (x.TITLE_DESCRIPTION).split(',')

编辑:在你的例子中,你用','分割句子,但在字符串本身有','所以使用字符转义','或使用其他字符分割句子并将其发送到分割函数而不是','。

【讨论】:

  • 这不是 SQL 答案,也不是 OP 要求的(这本身并不清楚)
【解决方案2】:

先用json_extract再用String函数split怎么样?

【讨论】:

  • 这不是答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-09
  • 2022-10-15
  • 1970-01-01
  • 2012-12-27
  • 2010-10-13
  • 1970-01-01
  • 2016-07-17
相关资源
最近更新 更多