"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Divididos eficientemente cadenas separadas por comas en SQLite usando CTE

Divididos eficientemente cadenas separadas por comas en SQLite usando CTE

Publicado el 2025-04-18
Navegar:898

How to Efficiently Split Comma-Separated Strings in SQLite Using CTEs?

dividiendo valores separados con comas con las expresiones de tabla comunes de Sqlite

pregunta:

¿cómo puedo dividir sin esfuerzo una cadena de comisión en la columna categórica de una tabla sqlite? Busco un enfoque más simple que usar reemplazar () y trim () y evitar las limitaciones de subStr ().

respuesta:

sqlite ofrece una característica llamada expresiones de tabla comunes (CTES) que permite consultas recursivas, lo que hace que sea conveniente para dividir valores exparados. Aquí hay una ruptura:

Query:

WITH split(word, csv) AS (
  SELECT '', 'Auto,A,1234444'||','
  UNION ALL
  SELECT substr(csv, 0, instr(csv, ',')), substr(csv, instr(csv, ',')   1)
  FROM split
  WHERE csv != ''
)
SELECT word FROM split
WHERE word!='';

explicación:

    selecciona recursivamente las palabras hasta la siguiente coma y la parte restante de la cadena, dividiéndola continuamente hasta que no se encuentren más comas.
  • ' consulta final ':
  • filtra la fila vacía inicial y la coma terminal de la división Resultados.
  • output:
  • Auto A 1234444
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3