" 和有什么不一样?= 空"和“是否为空"?

2021-11-20 00:00:00 database mysql

=null"和IS NULL"有什么区别?它们的用法有何不同?

What is the difference between "=null" and "IS NULL"? How are they used differently?

推荐答案

WHERE 子句中,column=null 永远不会为真,使用无效null 这种方式,你需要说 column IS NULLcolumn IS NOT NULL.这说明了 NULL 的特殊性,它不是要检查相等性的值,它是一个未知值,因此您需要使用 ISIS NOT 语法.

In a WHERE clause, column=null will never be true, it is not valid to use null this way, you need to say column IS NULL or column IS NOT NULL. This speaks to the special nature of NULL, it is not a value to check for equality of, it is an unknown value, so you need to use the IS or IS NOT syntax.

您可以使用 = 相等来分配 NULL 值.例如:UPDATE TableX SET Column=NULL...

You may assign something the NULL value using the = equal. For example: UPDATE TableX SET Column=NULL...

链接:
维基百科 NUll (SQL)
w3schools SQL NULL 值
SQL 教程,参见 IS NULL 运算符部分

相关文章