Trong bài đăng này, tôi đang chia sẻ một lưu ý nhỏ về QUOTED_IDENTIFIER và ANSI_NULL của SQL Server.
Đây là chủ đề rất cơ bản và phổ biến nhất đối với tất cả các Chuyên gia SQL Server.
Bạn có thể tìm thấy N số bài báo và cuộc thảo luận về chủ đề này. Nhưng tôi luôn thích viết về chủ đề phổ biến bằng lời nói của mình.
QUOTED_IDENTIFIER BẬT / TẮT:
1 2 3 4 | SET QUOTED_IDENTIFIER ON GO SET QUOTED_IDENTIFIER OFF GO |
Tùy chọn này được BẬT và các ký tự được đặt trong dấu ngoặc kép sau đó được coi là Mã định danh.
Tùy chọn này là TẮT và các ký tự được đặt trong dấu ngoặc kép sau đó được coi là chữ.
Sử dụng tùy chọn này, bạn có thể sử dụng các từ dành riêng cho SQL Server làm Mã định danh.
Ví dụ:
1 2 3 | SET QUOTED_IDENTIFIER ON GO CREATE TABLE dbo.”Table” (id int,”View” VARCHAR(255)) GO |
ANSI_NULL BẬT / TẮT:
1 2 3 4 | SET ANSI_NULLS ON GO SET ANSI_NULLS OFF GO |
Tùy chọn này về cơ bản để so sánh ANSI NULL. Nếu tùy chọn này BẬT và bạn so sánh giá trị truy vấn của mình với giá trị NULL, kết quả là 0.
Nếu tùy chọn này TẮT và bạn so sánh giá trị truy vấn của mình với giá trị NULL, thì kết quả là NULL.
Trong phiên bản SQL Server trong tương lai, ANSI_NULLS sẽ luôn BẬT và bất kỳ ứng dụng nào đặt tùy chọn thành TẮT rõ ràng sẽ tạo ra lỗi.