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

Oracle REGEX_SUBSTR không tôn vinh các giá trị rỗng

Tôi e rằng câu trả lời được chấp nhận của bạn không xử lý được trường hợp bạn cần giá trị sau vị trí rỗng (cố gắng lấy trường thứ 6):

SQL> select REGEXP_SUBSTR ('2035197553,2,S,14-JUN-14,,P', '[^,]*', 1, 6) phn_end
_dt
  2  from dual;

P
-

Bạn cần làm điều này thay vì tôi tin (hoạt động vào 11g):

SQL> select REGEXP_SUBSTR ('2035197553,2,S,14-JUN-14,,P', '([^,]*)(,|$)', 1, 6,
NULL, 1) phn_end_dt
  2  from dual;

P
-
P

Tôi vừa phát hiện ra điều này sau khi đăng câu hỏi của riêng mình: REGEX để chọn giá trị thứ n từ danh sách, cho phép nulls



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động chia các hàng thành cột trong Oracle

  2. Danh sách các vùng lãnh thổ được Cơ sở dữ liệu Oracle hỗ trợ

  3. Làm cách nào để kiểm tra xem một chuỗi có chứa một số hay không

  4. Oracle PL / SQL:Chuyển tiếp toàn bộ hàng tới thủ tục từ một trình kích hoạt

  5. Nhận các giá trị từ bảng Oracle DB vào hộp danh sách trong c # / wpf