Maison >base de données >tutoriel mysql >Comment puis-je diviser les données séparées par des virgules dans une colonne Postgres en plusieurs colonnes ?
Diviser les données des colonnes séparées par des virgules en plusieurs colonnes
Dans de nombreux scénarios de données, les données peuvent être stockées dans un format concaténé et séparées par des délimiteurs tels que des virgules. Afin d'extraire une seule valeur de ces colonnes, la fonction split_part()
de PostgreSQL peut être utilisée.
Considérez les données suivantes :
<code>Column ------- a,b,c,d</code>
Pour diviser ces données séparées par des virgules en colonnes distinctes, vous pouvez utiliser la fonction split_part()
. Voici comment procéder :
<code class="language-sql">SELECT split_part(col, ',', 1) AS col1, split_part(col, ',', 2) AS col2, split_part(col, ',', 3) AS col3, split_part(col, ',', 4) AS col4 FROM tbl;</code>
Cette requête créera quatre nouvelles colonnes (col
, col1
, col2
et col3
) en divisant les données dans la colonne col4
en fonction du délimiteur virgule. Le résultat sera :
<code>Column1 Column2 Column3 Column4 ------- ------- ------- ------- a b c d</code>La fonction
split_part()
accepte trois paramètres : la colonne à diviser (col
), le séparateur à utiliser (,
) et la position de la valeur à extraire. Dans cet exemple, nous extrayons les quatre premières valeurs (jusqu'à quatre) de la colonne col
.
Les colonnes qui dépassent le nombre d'éléments de données dans la colonne d'origine seront remplies de chaînes vides (''). Grâce à cette technique, vous pouvez facilement diviser les données séparées par des virgules en plusieurs colonnes pour une analyse ou une manipulation plus approfondie.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!