3 votes

Comment diviser une valeur en plusieurs lignes sur le caractère de retour à la ligne dans PostgreSQL ?

J'ai un tableau nommé BookInfo avec la structure suivante :

|id  |book_name  |description  |
--------------------------------
|1   |book 1     |harry        |
|    |           |potter       |
|    |           |Part 2       |
|2   |...        |             |

Comment puis-je diviser la ligne ( id=1 ) en plusieurs lignes sur le caractère de la nouvelle ligne (de sorte que harry \n potter \n Part 2 serait séparée en trois dossiers différents : harry , potter y Part 2 à l'aide d'une requête ?

Pour résumer, l'ensemble de résultats ressemblerait à quelque chose comme ceci :

|id  | description   |
----------------------
|1   |harry          | 
|2   |potter         |
|3   |Part 2         |

Toute aide sera très appréciée, merci.

13voto

Denis Points 34131

Vous recherchez regexp_split_to_table() :

http://www.postgresql.org/docs/9.2/static/functions-string.html

select regexp_split_to_table('hello world', E'\\s+');

hello
world

(2 rows)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X