亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

將標(biāo)題重寫為:將MySQL中的JSON陣列連接為字串
P粉935883292
P粉935883292 2023-09-06 14:59:38
0
1
818

我正在尋找一種在MySQL中將JSON數(shù)組連接為分隔字串的方法。

下面是一個(gè)範(fàn)例,使用巢狀的REPLACE()函數(shù)來(lái)取代字串中的字元。

SELECT REPLACE(REPLACE(REPLACE(JSON_KEYS('{
  "foo": "I am foo",
  "bar": "I am bar",
  "baz": "I am baz"
}'), '["', ''), '", "', '|'), '"]', '') AS value;

回傳結(jié)果...

bar|baz|foo

有沒有一種原生的方法來(lái)做到這一點(diǎn),而不需要像這樣做一些hacky的事情?

P粉935883292
P粉935883292

全部回覆(1)
P粉952365143

您正在要求使用鍵而不是值進(jìn)行JSON到CSV轉(zhuǎn)換。真正的“問題”是使用鍵,但可以以更簡(jiǎn)潔的方式實(shí)現(xiàn)。我不認(rèn)為這種方式比較簡(jiǎn)潔,但您可能會(huì)覺得更優(yōu)雅。為了確保額外的確定:不,MySQL中沒有任何原生的方法可以滿足您的需求。

SELECT 
    GROUP_CONCAT(json_source.a_key SEPARATOR '|') 
FROM JSON_TABLE(
    JSON_KEYS('{
        "foo": "I am foo",
        "bar": "I am bar",
        "baz": "I am baz"
        }'), 
    "$[*]" COLUMNS(a_key TEXT PATH '$')
  ) AS json_source;

JSON_TABLE 是一個(gè)強(qiáng)大的工具,但需要閱讀和大量的交流才能理解。我自己還在交流階段。 GROUP_CONCAT 的工作方式與您預(yù)期的一樣,但是垂直方向。

編輯:也可以參考這個(gè)類似問題。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板