Đây là cách sử dụng của toán tử <=> trong MySQL.
Trường hợp 1
Toán tử này tương tự như toán tử =, tức là khi giá trị bằng nhau thì kết quả sẽ trở thành true (1), ngược lại là false (0).
Trong trường hợp đầu tiên, cả hai toán tử =và <=> đều hoạt động giống nhau.
Trường hợp 2
Bất cứ khi nào chúng ta so sánh bất kỳ giá trị nào với NULL thì toán tử <=> sẽ cho giá trị 0 và khi chúng ta so sánh với NULL <=> NULL, thì nó trả về 1.
Trong trường hợp của toán tử =, điều này không xảy ra. Bất cứ khi nào chúng ta so sánh bất kỳ giá trị nào với NULL, nó sẽ trả về NULL. Nếu chúng ta so sánh NULL với NULL, thì chỉ NULL được trả về.
Đây là một ví dụ cho cả hai trường hợp được thảo luận ở trên. Truy vấn như sau -
mysql> SELECT 10 <=> 10, NULL <=> NULL, 10 <=> NULL;
Đây là kết quả đầu ra.
+-----------+---------------+-------------+ | 10 <=> 10 | NULL <=> NULL | 10 <=> NULL | +-----------+---------------+-------------+ | 1 | 1| 0| +-----------+---------------+-------------+ 1 row in set (0.00 sec)
Nhìn vào kết quả ở trên, NULL <=> NULL trả về 1, không phải NULL.
Bây giờ chúng ta hãy xem một ví dụ cho toán tử =. Truy vấn như sau -
mysql> SELECT 10 = 10, NULL = NULL, 10 = NULL;
Đây là kết quả đầu ra.
+---------+-------------+-----------+ | 10 = 10 | NULL = NULL | 10 = NULL | +---------+-------------+-----------+ | 1 | NULL | NULL | +---------+-------------+-----------+ 1 row in set (0.00 sec)
Nhìn vào kết quả ở trên, NULL =NULL trả về NULL.