es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dividir una columna de cadena en nuevas columnas postgresql.

Tengo una columna que puede contener más de 20 valores diferentes y están separados por punto y coma. Por ejemplo: A;B;C;D;E;F;G;H;…., necesito separar todos los valores en nuevas columnas.
Intenté usar SPLIT_PART(), pero parece que necesito especificar la posición que deseo de la cadena. Pero en mi caso, hay demasiados valores y no es muy eficiente hacerlo de esta manera.

Me pregunto si hay alguna forma de separarlos por ; y que todos los valores se guarden en una nueva columna.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, se puede utilizar la función STRING_TO_ARRAY para separar los valores por punto y coma y guardarlos en una nueva columna. La sintaxis de esta función es la siguiente:


    STRING_TO_ARRAY(cadena, delimitador)

    Donde cadena es la cadena que se desea separar y delimitador es el carácter que se va a utilizar para separar la cadena. En este caso, el delimitador sería un punto y coma.

    Por ejemplo, si se tiene una cadena A;B;C;D;E;F;G;H y se desea separarla en un array, se puede utilizar la siguiente consulta:


    SELECT STRING_TO_ARRAY('A;B;C;D;E;F;G;H', ';')

    Esto devolverá un array con los valores A, B, C, D, E, F, G y H.

Comments are closed.