Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Oracle- Chuỗi phân tách được phân cách bằng dấu phẩy (chuỗi chứa khoảng trắng và dấu phẩy liên tiếp)

Hãy thử điều này để phân tích cú pháp phần danh sách. Nó xử lý 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>

Thật không may khi bạn tìm kiếm regex cho danh sách phân tích cú pháp, bạn sẽ luôn tìm thấy biểu mẫu này KHÔNG xử lý null và nên tránh:'[^,]+' . Xem tại đây để biết thêm thông tin:Chia các giá trị được phân tách bằng dấu phẩy thành các cột trong Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách truy vấn cột CLOB trong Oracle

  2. Truy vấn mối quan hệ Khoá ngoại của Bảng

  3. 3 cách để định dạng một số thành 2 vị trí thập phân trong Oracle

  4. Сtạo máy ảo với hộp ảo Oracle VM

  5. Không phải là tháng hợp lệ trên một câu lệnh INSERT