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

sql - một truy vấn để trả về các giá trị không có

Nếu bạn đang sử dụng 10g hoặc cao hơn, bạn có thể tạo một hàm chuyển đổi một chuỗi CSV thành một bảng động. Kiểm tra mã cho trình mã hóa chuỗi trong câu trả lời khác này .

Bạn sẽ sử dụng nó như thế này:

select * from movies
where title NOT in (
         select * 
          from table (string_tokenizer
                      (
                          'Scream, Scary Movie,Exorcist,Dracula,Saw,Hide and Seek'
                        )

                  )
     )
/

Đây là cách triển khai đơn giản hơn một chút mà không yêu cầu bất kỳ cơ sở hạ tầng bổ sung nào:

SQL> select * from table(sys.dbms_debug_vc2coll('Scream',
'Scary Movie',
'Exorcist',
'Dracula',
'Saw',
'Hide and Seek'
 ))
/
  2    3    4    5    6    7    8  
COLUMN_VALUE
--------------------------------------------------------------------------------
Scream
Scary Movie
Exorcist
Dracula
Saw
Hide and Seek

6 rows selected.

SQL> 

Điều này tương tự với Khối tạo giá trị bảng , nhưng nó chỉ hoạt động cho các "bảng" cột đơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lỗi cây chữ / độ dài được đăng ký quá mức trong khi tạo cơ sở dữ liệu

  2. ORA-01795:số biểu thức tối đa trong danh sách là 1000, cách tách chuỗi

  3. Hibernate Jpa - ngoại lệ vi phạm ràng buộc trên Khóa chính (Trình tự)

  4. cập nhật bằng vòng lặp for trong plsql

  5. Xóa hàng con và hàng mẹ bằng một tập lệnh SQL