PostgreSQL La base de donnees la plus sophistiquee au monde.
no way to compare when less than two revisions

Différences

Ci-dessous, les différences entre deux révisions de la page.


support:trucs_et_astuces:diviser_un_texte_en_plusieurs_lignes [2008/10/15 16:55] (Version actuelle) – créée ioguix
Ligne 1: Ligne 1:
 +====== Diviser un texte en plusieurs lignes ======
  
 +Que faire si vous avez une chaîne, que vous voulez la séparer en plusieurs morceaux suivant un pattern et que vous voulez récupérer chaque morceau sur une ligne ?
 +
 +Commencer par créer la fonction suivante :
 +
 +<code sql>CREATE OR REPLACE FUNCTION split_to_rows(TEXT,TEXT) RETURNS SETOF TEXT
 +
 +AS $$
 +
 +    SELECT (string_to_array($1, $2))[s.i]
 +
 +    FROM generate_series(
 +
 +        1,
 +
 +        array_upper(string_to_array($1, $2), 1)
 +
 +    ) AS s(i);
 +
 +$$ language sql strict;
 +</code>
 +
 +Pour l'utiliser, rien de plus simple :
 +
 +<code>dev=# select split_to_rows('aa--bb--cc','--');
 +
 +split_to_rows
 +---------------
 +aa
 +bb
 +cc
 +(3 rows)</code>
 +
 +Cette fonction a été écrite par David Fetter (voir son [[http://archives.postgresql.org/pgsql-general/2005-12/msg00080.php|message sur pgsql-general]]).
 +
 +-- \\
 +Guillaume Lelarge le 13/10/2006
 
support/trucs_et_astuces/diviser_un_texte_en_plusieurs_lignes.txt · Dernière modification : 2008/10/15 16:55 de ioguix