使用「!= NULL」和使用「IS NOT NULL」是否有區別?MySQL中的「!= NULL」和「IS NOT NULL」之間是否有區別?
例如:
SELECT * FROM tbl_example WHERE a_field IS NOT NULL
和
SELECT * FROM tbl_example WHERE a_field != NULL
使用「!= NULL」和使用「IS NOT NULL」是否有區別?MySQL中的「!= NULL」和「IS NOT NULL」之間是否有區別?
例如:
SELECT * FROM tbl_example WHERE a_field IS NOT NULL
和
SELECT * FROM tbl_example WHERE a_field != NULL
是的,有。 !=
不NULL
正常工作:
mysql> SELECT 1 != NULL, 1 IS NOT NULL;
+-----------+---------------+
| 1 != NULL | 1 IS NOT NULL |
+-----------+---------------+
| NULL | 1 |
+-----------+---------------+
1 row in set (0.00 sec)
BTW:!=
是不是有效的SQL,你應該使用鑽石操作<>
。
其實沒有比較,除了IS
和IS NOT
的作品。
您不應將值與空值進行比較,因爲此操作的效果不是true
既不是false
- 它總是unknown
。
要檢查是null值,你應該總是使用is null
'!='(以及'<>')是有效的MySQL中。我猜其他SQL實現可能無法使用它。 –
「*'!='是無效的SQL *」。 [它在MySQL中](https://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#operator_not-equal)。 – h2ooooooo
@ h2ooooooo我已經專門編寫了SQL,而不是MySQL。 – TimWolla