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

gì đó về ansi_nulls

Với ANSI_NULLS OFF , NULL = NULL đánh giá thành TRUE .

Với ANSI_NULLS ON (mặc định), NULL = NULL đánh giá thành NULL .

NULL IS NULL luôn đánh giá là TRUE .

Tuy nhiên, trong MySQL, bạn không thể tắt ANSI_NULLS. Có thể bạn đang nghĩ đến MS SQL Server.

Các phiên bản tương lai của MS SQL Server sẽ không hỗ trợ ANSI_NULLS OFF , vì vậy tôi sẽ không sử dụng nó.

Bạn nên để ANSI_NULLS ON và sử dụng IS NULL để đánh giá xem điều gì đó LÀ KHÔNG ĐẦY ĐỦ.

Nếu bạn đang gặp sự cố khi nhớ cách NULL hoạt động theo mặc định (ANSI_NULLS ON), bạn nên nghĩ về NULL là " không xác định ". Ví dụ:nếu có hai người lạ trong phòng, tên của họ là NULL. Nếu truy vấn của bạn là" Tên của họ có giống nhau không? "Câu trả lời của bạn LÀ KHÔNG.

Bây giờ, giả sử Bob đang ở trong phòng chỉ với một người lạ, tên LÀ KHÔNG. Một lần nữa câu trả lời cho truy vấn của bạn "Tên của họ có giống nhau không?" LÀ KHÔNG. Lưu ý rằng nếu bạn so sánh bất kỳ điều gì với NULL, câu trả lời của bạn LÀ KHÔNG.



  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ạo cơ sở dữ liệu MySQL với tệp .SQL

  2. TẠO BẢNG MySQL và T-SQL với các ví dụ về cú pháp

  3. Làm cách nào để chọn theo một loạt các ký tự bắt đầu?

  4. Cách hoạt động của hàm REGEXP_SUBSTR () trong MySQL

  5. Làm thế nào để tìm bảng lớn nhất trong cơ sở dữ liệu MySQL?