Home > Database > Mysql Tutorial > MySQL查询对NULL的处理_MySQL

MySQL查询对NULL的处理_MySQL

WBOY
Release: 2016-06-01 13:10:17
Original
1017 people have browsed it

有一个字段blist,如果查询where blist <> 'B'时为什么那些blist为NULL的记录查不出?怎么写才能查出NULL值记录?
Copy after login
Copy after login
回答:
Copy after login
<pre class="best-text mb-10">Null 值不能使用普通的算术运算符来比较,对这些它什么都不返回。只能靠你自己的逻辑流程,在查询语句中再添加where blist<>'B' or blist is null;
Copy after login

在SQL中,NULL值在于任何其他值甚至NULL值比较时总是假的(FALSE)。包含NULL的一个表达式总是产生一个NULL值,除非在包含在表达式中的运算符和函数的文档中指出。在下列例子,所有的列返回NULL: 如果你想要寻找值是NULL的列,你不能使用=NULL测试。下列语句不返回任何行,因为对任何表达式,expr = NULL是假的: mysql> SELECT * FROM my_table WHERE phone = NULL; 要想寻找NULL值,你必须使用IS NULL测试。下例显示如何找出NULL电话号码和空的电话号码: mysql> SELECT * FROM my_table WHERE phone IS NULL; mysql> SELECT * FROM my_table WHERE phone = "";
Copy after login
为了有助于NULL的处理,你能使用IS NULL和IS NOT NULL运算符和IFNULL()函数。
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template