sql >> Databáze >  >> RDS >> Oracle

Oracle- Rozdělit řetězec oddělený čárkou (řetězec obsahuje mezery a po sobě jdoucí čárky)

Zkuste to pro analýzu části seznamu. Zvládá NULLS:

SQL> select regexp_substr('12 3,456,,abc,def', '(.*?)(,|$)', 1, level, null, 1) SPLIT, level
    from dual
    connect by level <= regexp_count('12 3,456,,abc,def',',') + 1
    ORDER BY level;

SPLIT                  LEVEL
----------------- ----------
12 3                       1
456                        2
                           3
abc                        4
def                        5

SQL>

Bohužel, když hledáte regulární výrazy pro analýzu seznamů, vždy najdete tento formulář, který NEZpracovává hodnoty null a je třeba se mu vyhnout:'[^,]+' . Další informace naleznete zde:Rozdělení hodnot oddělených čárkami na sloupce v Oracle.



  1. Doporučené postupy mysqldump:Část 2 – Průvodce migrací

  2. Dynamické maskování dat založené na proxy v FieldShield

  3. PHP CRUD Vytvářejte, upravujte, aktualizujte a mažte příspěvky pomocí databáze MySQL

  4. Jak se připojím k databázi SQL Server 2008 pomocí JDBC?