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

Sử dụng bộ giá trị trong mệnh đề SQL IN

Đưa ra một chỉnh sửa rất nhỏ (thay thế dấu ngoặc kép bằng dấu nháy đơn và thêm VALUES từ khóa), cú pháp đề xuất của bạn là cú pháp SQL-92 Chuẩn hợp lệ, tức là

SELECT *
  FROM mytable
 WHERE (group_id, group_type) IN (
                                  VALUES ('1234-567', 2), 
                                         ('4321-765', 3), 
                                         ('1111-222', 5)
                                 );

Đáng buồn thay, MSFT đã không thêm nó vào SQL Server và coi nó là một tính năng 'ngoài kế hoạch'.

FWIW PostgreSQL và Sqlite là các ví dụ về các sản phẩm SQL hỗ trợ cú pháp này.



  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àm cách nào để nhập tệp Excel vào SQL Server?

  2. SQL Server Chèn hàng loạt tệp CSV với dấu ngoặc kép không nhất quán

  3. Làm cách nào để xác định các phiên bản SQL Server đã cài đặt và phiên bản của chúng?

  4. Ví dụ về câu lệnh hợp nhất đơn giản trong SQL Server

  5. hành vi nối nvarchar / chỉ mục / nvarchar (tối đa) không thể giải thích được