Réécrivez le titre comme suit : Concaténer un tableau JSON en chaîne dans MySQL
P粉935883292
P粉935883292 2023-09-06 14:59:38
0
1
646

Je cherche un moyen de concaténer des tableaux JSON en chaînes délimitées dans MySQL.

Vous trouverez ci-dessous un exemple utilisant des fonctionsREPLACE()imbriquées pour remplacer des caractères dans une chaîne.

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

Retour des résultats...

bar|baz|foo

Existe-t-il une manière native de procéder sans avoir à faire des trucs piratés comme celui-ci ?

P粉935883292
P粉935883292

répondre à tous (1)
P粉952365143

Vous demandez une conversion JSON en CSV en utilisant des clés au lieu de valeurs. Le vrai « problème » est l’utilisation des clés, mais cela peut être réalisé de manière plus propre. Je ne pense pas que cette méthode soit plus propre, mais vous la trouverez peut-être plus élégante. Juste pour être plus sûr : non, il n'existe aucun moyen natif dans MySQL qui fasse ce dont vous avez besoin.

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是一个强大的工具,但需要阅读和大量的交流才能理解。我自己还在交流阶段。GROUP_CONCATfonctionne de la même manière que vous vous attendez, mais verticalement.

Edit : Vous pouvez également vous référer à cetteQuestion similaire.

    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal
    À propos de nous Clause de non-responsabilité Sitemap
    Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!