简介 nullif和ifnull是数据库中常用的两个函数。不同的数据库可能会略微有差异。...详解 NULLIF NULLIF(expr1,expr2) NULLIF接受两个参数,如果两个参数相等则返回NULL,不相等则返回第一个参数。...NULLIF('culturesun.site',NULL); --返回 NULL ,因为第一个参数是 NULL SELECT NULLIF(NULL,'culturesun.site'); 注意第三句...IFNULL IFNULL(expr1,expr2) IFNULL接受两个参数,如果第一个参数为NULL,则返回第二个参数,否则返回第一个参数。...,即使是列值与字符串拼接,也依旧是判断列值是否为空。
正文部分 SAP HANA SQL中有IFNULL,还有NULLIF 两者的用法和区别简单说一下 IFNULL是返回第一个不为NULL的数据 用法如下: NULLIF是比较前后两个参数是否相等 如果相等
IFNULL(expr1,expr2) 如果expr1不为NULL,则返回expr1; 否则返回expr2。 IFNULL()的返回值是数字或是字符串....例如查询所有商品,把价格为null的改为0; select ifnull(goods_price,0) from goods ; ?...则返回所有商品价格,如果有null的则返回0; NULLIF(expr1,expr2) 如果expr1和expr2相等,则返回null,否则返回expr1的值 例如 查询商品的促销价格和市场价格是否相等...,不相等返回促销价格,相等则返回null select nullif(goods_price,goods_marketprice) from goods; 当然,一般情况下相等也不返回null,这只是个实例
——冯梦龙 NULLIF函数是MySQL中的一个条件函数,用来返回两个表达式的比较结果。具体来说,如果两个表达式相等,NULLIF函数返回NULL;如果不相等,它就返回第一个表达式的值。...使用NULLIF可以有效避免这种错误。...例如,我们要计算两个列A和B的比值,可以这样写: SELECT A, B, A / NULLIF(B, 0) AS result FROM your_table; 这里,如果B为0,则NULLIF(B,...NULLIF可以在这里发挥作用,帮助简化查询逻辑。...比如,与COALESCE函数结合,可以实现多重默认值的逻辑: SELECT COALESCE(NULLIF(email, ''), 'no-email@example.com') AS email FROM
NULLIF 返回与 expression1 相同的数据类型。 描述 如果 expression1 的值等于 expression2 的值,则 NULLIF 函数返回 NULL。...如果逻辑比较测试为 True(A 与 B 相同),则每个函数返回一个值,如果逻辑比较测试为 False(A 与 B 不同),则返回另一个值。这些函数允许执行 NULL 逻辑比较。...SQL Function Comparison Test Return Value IFNULL(ex1,ex2) [two-argument form] ex1 = NULL True returns...ex2 False returns NULL IFNULL(ex1,ex2,ex3) [three-argument form] ex1 = NULL True returns ex2 False returns...ex3 {fn IFNULL(ex1,ex2)} ex1 = NULL True returns ex2 False returns ex1 ISNULL(ex1,ex2) ex1 = NULL True
mysql高级函数FIND_IN_SET,ENUM和SET,LOCATE,ELT,FIELD,INTERVAL,COUNT,CAST,NULLIF,ISNULL,IFNULL,IF,CONVERT,COALESCE...()函数 MySQL中的field()函数,可以用来对SQL中查询结果集进行指定顺序排序 函数使用格式如下: order by field(str,str1,str2,str3,str4……),str与str1...3,20,30,40,50,60); # 0 SELECT INTERVAL(NULL,20,30,40,50,60); # -1 SELECT INTERVAL('c','b','d'); # 2 #elt函数与interval...(expr1, expr2)比较两个字符串,如果字符串 expr1 与 expr2 相等 返回 NULL,否则返回 expr1 SELECT NULLIF(25, 25) ### null SELECT...SELECT IFNULL(NULL,'Hello World'); #Hello World SELECT IFNULL('hello','Hello World'); # hello # IF(
student_can_be from class_1 where age>18 把salary表中的女改成男,男改成女: update salary set sex = if( sex = '男','女','男'); IFNULL...表达式 IFNULL( a, b) 判断第一个参数a是否为NULL: 如果a不为空,直接返回a; 如果a为空,返回第二个参数 b SELECT IFNULL(NULL,"11"); -> 11...SELECT IFNULL("00","11"); -> 00 NULLIF 表达式 NULLIF(a,b):如果两个参数相等则返回NULL,否则返回第一个参数的值a mysql> select nullif...(1,1),nullif(123,234); +-------------+-----------------+ | nullif(1,1) | nullif(123,234) | +---------
bin() BINARY CASE cast() COALESCE() CONNECTION_ID() conv() charset() CURRENT_USER() DATABASE() if() ifnull...() ISNULL() LAST_INSERT_ID() NULLIF() SESSION_USER() SYSTEM_USER() USER() VERSION() ---- sql bin() SELECT...ifnull() SELECT ifnull(null,"hello world!"); 解析:第一个参数为Null,返回第二个参数,第一个参数不为null。...NULL); 解析:为null,返回1,不为null,返回0 LAST_INSERT_ID() SELECT LAST_INSERT_ID(); 解析:最近生成的 AUTO_INCREMENT 值 NULLIF...() SELECT NULLIF(25, 25); 解析:如果相等。
IFNULL IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。...IFNULL() 函数语法格式为: IFNULL(expression, alt_value) 如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。...用例 select * from `user` SELECT name, total_amount, ifnull(freeze_amount, 0) AS freeze_amount FROM...`user` WHERE ifnull(freeze_amount, 0) >= 0
IFNULL(expr1,expr2) 假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。...mysql> SELECT IFNULL(1,0); -> 1 mysql> SELECT IFNULL(NULL,10); -> 10 mysql> SELECT IFNULL...假设一个基于表达式的表的情况, 或MySQL必须在内存储器中储存一个临时表中IFNULL()的返回值: CREATE TABLE tmp SELECT IFNULL(1,'test') AS test...NULLIF(expr1,expr2) 如果expr1 = expr2 成立,那么返回值为NULL,否则返回值为 expr1。...mysql> SELECT NULLIF(1,1); -> NULL mysql> SELECT NULLIF(1,2); -> 1 注意,如果参数不相等,则 MySQL
ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, SUM_ROWS_AFFECTED...AS rows_affected, ROUND(IFNULL(SUM_ROWS_AFFECTED / NULLIF(COUNT_STAR, 0), 0)) AS rows_affected_avg...(SUM_ERRORS / NULLIF(COUNT_STAR, 0), 0) * 100 as error_pct, SUM_WARNINGS AS warnings, IFNULL(SUM_WARNINGS...ROUND(IFNULL(SUM_ROWS_EXAMINED / NULLIF(COUNT_STAR, 0), 0)) AS rows_examined_avg, FIRST_SEEN AS first_seen...(SUM_CREATED_TMP_TABLES / NULLIF(COUNT_STAR, 0), 0)) AS avg_tmp_tables_per_query, ROUND(IFNULL(SUM_CREATED_TMP_DISK_TABLES
SQL函数 IFNULL 测试NULL并返回适当表达式的函数。...大纲 IFNULL(expression-1,expression-2 [,expression-3]) {fn IFNULL(expression-1,expression-2)} 参数 expression...IfNull() { s myquery=3 s myquery(1)="SELECT TOP 20 Name," s myquery(2)="IFNULL(FavoriteColors...如果逻辑比较测试为True (A与B相同),则每个函数返回一个值;如果逻辑比较测试为False (A与B不同),则返回另一个值。这些函数允许执行NULL逻辑比较。...returns ex2 False returns ex1 NVL(ex1,ex2) ex1 = NULL True returns ex2 False returns ex1 NULLIF(ex1,
`IF`(expr1,expr2,expr3) ISNULL(expr) 定义: 判断exper是否为空,是则返回1,否则返回0 ISNULL(expr) IFNULL(exper1,exper2)...定义: 判断exper1是否为空,是则用exper2代替 IFNULL(exper1,exper2) NULLIF(exper1,exper2) 定义: 如果expr1= expr2 成立,那么返回值为...NULLIF(exper1,exper2) 字符串函数 SUBSTR SUBSTR (str, pos) 截取从pos位置开始到最后的所有str字符串,mysql中的start是从1开始的 SUBSTR
函数 3.2.1 语法 ifnull(expr1,expr2) 说明:假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。...如: SELECT NULLIF(1,1); 其结果为null;SELECT NULLIF(1,2); 其结果则为1。...3.3.2 示例 练习1:获取用户的年龄,如果为60,则显示为null;要求使用nullif函数查询: select uname, nullif(age, 60) from t_user; 4....回望 if函数的语法 if(exp1, exp2, exp3) ifnull函数的语法 ifnull(exp1, exp2) nullif函数的语法 nullif(exp1, exp2) 二 字符串函数...expr天; type的值有 DAY、MONTH、YEAR、MINUTE、SECOND、HOUR;如果expr为负数,则变成了减法 date_sub(date, interval expr type) 与date_add
IFNULL(): 空值处理 案例:当用户地址为空时,使用默认地址填充。...SELECT user_id, IFNULL(address, '未填写') AS address_info FROM users; 3....NULLIF(): 判断两值是否相等,相等时返回NULL 案例:避免除以零错误,当分母为0时返回NULL。...SELECT numerator, denominator, NULLIF(denominator, 0), numerator / NULLIF(denominator, 0) AS result FROM
SUBSTR(str,pos,len) substr用来截取字符串; str 被截取的字符串 pos 开始位置 len 长度 举个例子: substr('abc',1,2)='ab' IFNULL(expr1...举个例子: ifnull(a,'b') = x; if a==0; 结果x='b' if a0; 结果x=a 的值。
返回当前系统的日期和时间值 UNIX_TIMESTAMP 获取UNIX时间戳函数,返回一个以 UNIX 时间戳为基础的无符号整数 FROM_UNIXTIME 将 UNIX 时间戳转换为时间格式,与UNIX_TIMESTAMP...否则,IFNULL 函数返回第二个参数 mysql> SELECT IFNULL(5,8),IFNULL(NULL,'OK'); +-------------+-------------------+...| IFNULL(5,8) | IFNULL(NULL,'OK') | +-------------+-------------------+ | 5 | OK...| +-------------+-------------------+ # NULLIF函数 mysql> SELECT NULLIF(5,8),NULLIF(8,8); +-----------...--+-------------+ | NULLIF(5,8) | NULLIF(8,8) | +-------------+-------------+ | 5 |
Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html ifnull 的作用 可以判断某个字段的值是否为 null,为 null...则返回预先设定的值;有点像编程里面的三元表达式(只可意会不可言传,不懂三元表达式就忽略吧~) if 的语法格式 IFNULL(v1,v2) 语法格式说明 如果 v1 不为 NULL,则 IFNULL...栗子: SQL分析 若员工的 dept_id 为 null ,则默认显示【无部门】 select id,name,ifnull(dept_id,"无部门") "部门" from emp; ?
领取专属 10元无门槛券
手把手带您无忧上云