2011-09-23 10 views
14

Tengo un valor de cadena en una columna varchar. Es una cuerda que tiene dos partes. Dividirlo antes de que llegue a la base de datos no es una opción.Dividir un valor de columna en dos columnas en un SELECCIONAR?

Los valores de la columna se ven así:

one_column: 
'part1 part2' 
'part1 part2' 

Así que lo que quiero es un un conjunto de resultados que se parece a:

col1,col2: 
part1,part2 
part1,part2 

¿Cómo se puede hacer esto en una instrucción SELECT? Encontré una función pgsql para dividir la cadena en una matriz, pero no sé cómo colocarla en dos columnas.

Respuesta

32
select split_part(one_column, ' ', 1) AS part1, 
     split_part(one_column, ' ', 2) AS part2 ... 
+0

Impresionante. Gracias. –

+0

Funcionó, pero necesitaba dar los nombres de las columnas para evitar un error: 'SELECT split_part (one_column, '', 1) AS part1, split_part (one_column, '', 2) AS part2 ...' – avivr

Cuestiones relacionadas