`

MySql 的IFNULL、NULLIF和ISNULL函数的用法

 
阅读更多
MySql 里的IFNULL、NULLIF和ISNULL用法
2012年05月21日 ⁄ 数据库 ⁄ 暂无评论
今天用到了MySql里的isnull才发现他和MSSQL里的还是有点区别,现在简单总结一下:

mysql中isnull,ifnull,nullif的用法如下:

isnull(expr) 的用法:
如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。
mysql> select isnull(1+1);
-> 0
mysql> select isnull(1/0);
-> 1
使用= 的null 值对比通常是错误的。

isnull() 函数同 is null比较操作符具有一些相同的特性。请参见有关is null 的说明。

IFNULL(expr1,expr2)的用法:

假如expr1   不为   NULL,则   IFNULL()   的返回值为   expr1;
否则其返回值为   expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

mysql>   SELECT   IFNULL(1,0);
->   1
mysql>   SELECT   IFNULL(NULL,10);
->   10
mysql>   SELECT   IFNULL(1/0,10);
->   10
mysql>   SELECT
IFNULL(1/0,'yes');

->   'yes'

IFNULL(expr1,expr2)的默认结果值为两个表达式中更加“通用”的一个,顺序为STRING、   REAL或
INTEGER。假设一个基于表达式的表的情况,     或MySQL必须在内存储器中储存一个临时表中IFNULL()的返回值:
CREATE   TABLE   tmp   SELECT   IFNULL(1,'test')   AS   test;
在这个例子中,测试列的类型为   CHAR(4)。
NULLIF(expr1,expr2)  的用法: 
如果expr1
=   expr2     成立,那么返回值为NULL,否则返回值为   expr1。这和CASE   WHEN   expr1   =   expr2
THEN   NULL   ELSE   expr1   END相同。
mysql>   SELECT
NULLIF(1,1);

->   NULL
mysql>   SELECT   NULLIF(1,2);
->   1
如果参数不相等,则   MySQL   两次求得的值为     expr1   。

转自:http://www.cnblogs.com/JuneZhang/archive/2010/08/26/1809306.html


分享到:
评论

相关推荐

    MySQL里的IFNULL、NULLIF和ISNULL用法

     mysql中isnull,ifnull,nullif的用法如下:  isnull(expr) 的用法:如expr 为null,那么isnull() 的返回值为 1,否则返回值为 0。mysql> select isnull(1+1);-> 0mysql> select isnull(1/0);-> 1使用= 的null ...

    MySql中的IFNULL、NULLIF和ISNULL用法详解

    在MySQL数据库中,处理NULL值是一项...总的来说,`ISNULL()`、`IFNULL()`和`NULLIF()`是MySQL处理NULL值的三种主要方法,它们在不同的场景下各有所长,熟练掌握这些函数的使用,能够帮助我们更好地管理数据库中的数据。

    浅谈SQLServer的ISNULL函数与Mysql的IFNULL函数用法详解

    **SQL Server的ISNULL函数** `ISNULL`函数在SQL Server中用于检查一个表达式是否为NULL,并根据需要替换为指定的值。其语法结构如下: ```sql ISNULL(check_expression, replacement_value) ``` 1. **check_...

    mysql中替代null的IFNULL()与COALESCE()函数详解

    在MySQL中isnull()函数不能作为替代null值! 如下: 首先有个名字为business的表: SELECT ISNULL(business_name,'no business_name') AS bus_isnull FROM business WHERE id=2 直接运行就会报错: 错误代码...

    MySql与SqlServer的一些常用用法的差别

    在 SqlServer 中,使用 isnull() 函数来判断是否为空,而在 MySql 中,使用 ifnull() 函数来判断是否为空。注意,MySql 也有 isnull() 函数,但是其意义不同。 四、getdate() 函数 在 SqlServer 中,使用 getdate...

    mysql和SQLserver区别.docx

    SQL Server 中的 isnull() 函数可以判断某个值是否为空,而在 MySQL 中,需要使用 ifnull() 函数来判断某个值是否为空。需要注意的是,MySQL 也有 isnull() 函数,但是它的作用不同于 SQL Server 的 isnull() 函数。...

    SQL Server 和 MySql 语法和关键字的区别——用于SQLServer到MySql的转换

    在 SQL Server 中,IFNULL 函数用于返回第一个参数不为空的值,而在 MySql 中,IFNULL 函数被称为 ISNULL 函数。例如,在 SQL Server 中,我们可以使用 IFNULL 函数来返回一个默认值,如果某个字段为空的话:`SELECT...

    mysql中将null值转换为0的语句

    3. **NULLIF**:这个函数用于将一个表达式的结果与第二个参数比较,如果相等,则返回`NULL`,否则返回第一个表达式。在某些情况下,可以用来避免`NULL`值的产生。 4. **IS NULL** 和 **IS NOT NULL**:这两个是用于...

    SQL Server 和 MySql 语法和关键字的区别

    1. **IFNULL() 与 ISNULL() 函数** - MySQL 使用 `IFNULL()` 函数来检查某个值是否为 NULL,如果为 NULL,则返回指定的替代值。 - SQL Server 使用 `ISNULL()` 函数,作用相同,但语法结构略有不同。 2. **变量...

    c# MySql与SQL sever的区别.docx

    * `ISNULL` 函数:Sql Server 使用 `ISNULL` 函数,而 MySql 使用 `IFNULL` 函数。 * `GETDATE` 函数:Sql Server 使用 `GETDATE` 函数,而 MySql 使用 `NOW` 函数。 * `NEWID` 函数:Sql Server 使用 `NEWID` 函数...

    详解mysql不等于null和等于null的写法

    在SQL语言中,`NULL`是一个特殊的值,它表示未知或者未定义。处理`NULL`值时,需要注意其与...在MySQL中,使用`IS NULL`和`IS NOT NULL`来处理`NULL`值,同时了解相关的函数和约束,能帮助我们更有效地管理和操作数据。

    SQL NULL 函数

    ISNULL()、NVL()、IFNULL()和COALESCE()都可以根据具体数据库系统选择使用,它们的主要目的是确保在遇到NULL值时能够提供一个合理的默认值或替代值,从而保证查询结果的准确性和完整性。在实际工作中,理解并熟练...

    MySQL优化技巧大全.pdf

    在MySQL数据库中,查询空值可以使用IFNULL函数、IS NULL或ISNULL函数。IFNULL函数的执行速度最高,例如: ```sql SELECT u.userCode, u.userName, IFNULL(u.gender, '无性别') AS '性别', TIMESTAMPDIFF(YEAR, u...

    MySql COALESCE函数使用方法代码案例

    在SQL Server中,`COALESCE`函数的工作原理与MySQL类似,但在性能比较上,有时`ISNULL`可能会比`COALESCE`更快,但具体使用哪个取决于具体场景和需求。 总之,`COALESCE`函数是数据库查询中的一个强大工具,能够...

    MySql与SqlServer的一些常用用法的差别[借鉴].pdf

    SQL Server 提供 `isnull()` 函数,MySQL 则有 `ifnull()`。MySQL 也有一个 `isnull()` 函数,但其功能与 SQL Server 不完全相同。 4. **获取当前日期和时间** SQL Server 中的 `getdate()` 对应于 MySQL 的 `now...

    SQLServer和MySql语法和关键字的区别详解

    20. **NULL 处理函数**: MySQL 的 `ifnull()` 函数与 SQLServer 的 `isnull()` 函数功能相似,用于处理 NULL 值。 21. **变量定义**: 在 MySQL 存储过程中定义变量时,不需要使用 `@` 符号。 22. **语句结束符**: ...

    MySQL Left JOIN时指定NULL列返回特定值详解

    总的来说,根据具体需求和情况,你可以选择使用`IFNULL`、`COALESCE`或`IF`函数来处理LEFT JOIN后可能出现的NULL值,使查询结果更加符合预期。在处理大量数据和复杂查询时,理解并熟练运用这些函数对于优化SQL查询和...

Global site tag (gtag.js) - Google Analytics