Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Có toán tử == (dấu bằng kép) trong MySQL không?

Không. MySQL không hỗ trợ toán tử == để so sánh. Chỉ dùng = (dấu bằng đơn).

Thử nghiệm

mysql> SET @Number = 10;

Sai: Dùng ==

mysql> SELECT 10 == @Number;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '==@Number' at line 1

Đúng: Dùng =

mysql> SELECT 10 = @Number;
+------------+
| 10 = @Number |
+------------+
| 1          |
+------------+

Kết quả 1 = true (bằng nhau), 0 = false (khác nhau).

So sánh với các ngôn ngữ khác

Toán tử so sánh trong MySQL

Ngôn ngữSo sánh bằngGán giá trị
MySQL / SQL=:= hoặc SET @x = 1
C, Java, JS, Python, PHP== (hoặc ===)=
Pascal, PL/SQL=:=
Toán tửÝ nghĩaVí dụ
=Bằnga = b
<> hoặc !=Kháca <> b
<, >, <=, >=So sánh thứ tựa > b
<=>Null-safe equalNULL <=> NULL → true
IS NULL / IS NOT NULLKiểm tra NULLa IS NULL
BETWEEN ... AND ...Trong khoảnga BETWEEN 1 AND 10
IN (...)Trong tập hợpa IN (1,2,3)
LIKE / REGEXPPattern matchinga LIKE 'abc%'

Lưu ý

Trong SET @x = 1 hoặc SET @x := 1, dấu = là phép gán. Trong SELECT/WHERE, dấu = là so sánh. MySQL phân biệt bằng ngữ cảnh.