mysql读书笔记---if语句

·IF(expr1,expr2,expr3)

如果expr1是TRUE(expr1<>0 and expr1<>NULL),则IF()的返回值为expr2;否则返回值则为expr3。IF()的返回值为数字值或字符串值,具体情况视其所在语境而定。

mysql>SELECT?IF(1>2,2,3);

->3

mysql>SELECT IF(1<2,'yes','no');

->'yes'

mysql>SELECT IF(STRCMP('test','test1'),'no','yes');

->'no'

如果expr2或expr3中只有一个明确是?NULL,则IF()?函数的结果类型?为非NULL表达式的结果类型。

expr1作为一个整数值进行计算,就是说,假如你正在验证浮点值或字符串值, 那么应该使用比较运算进行检验。

mysql>SELECT IF(0.1,1,0);

->0

mysql>SELECT IF(0.1<>0,1,0);

->1

在所示的第一个例子中,IF(0.1)的返回值为0,原因是0.1被转化为整数值,从而引起一个对IF(0)的检验。这或许不是你想要的情况。在第二个例子中,比较检验了原始浮点值,目的是为了了解是否其为非零值。比较结果使用整数。

IF()(这一点在其被储存到临时表时很重要?)?的默认返回值类型按照以下方式计算:

表达式

返回值

expr2或expr3返回值为一个字符串。

字符串

expr2或expr3返回值为一个浮点值。

浮点

IFNULL(expr1,expr2):expr1为空则把expr2返回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值