大事记

当前位置:首页   >  资讯文章   >  [Mysql] IF()函数的返回值数据类型优先级问题

[Mysql] IF()函数的返回值数据类型优先级问题

导读

IF()函数的优先级是按照官方文档的那张表格自上而下,也就是字符串优先级最高。

The default return type of IF() (which may matter when it is stored into a temporary table)
is calculated as follows.
如下图所示,但是似乎没有说明优先级

image.png

我们验证一下:虽然返回的10是个整型,但是其实返回的数据类型是浮点型的
mysql> create table t1 select if(1=1,10,10.1) score;
Query OK, 1 row affected (0.79 sec)
Records: 1  Duplicates: 0  Warnings: 0

image.png

再看如下例子,我们发现返回的10是一个varchar型的类型
mysql> create table t11 select if(1=1,10,'10.1') score;
Query OK, 1 row affected (0.38 sec)
Records: 1  Duplicates: 0  Warnings: 0

image.png

由此实验得出,其优先级是按照官方文档的那张表格自上而下,也就是字符串优先级最高


扫码关注

网友评论

没有登录 不能评论,请注册用户

1.事件薄网站遵循《互联网新闻信息服务管理规定》, 不干预新闻舆论及牟取不正当利益。 2.网站资讯均来自网络,如有侵权,请联系我们。3.如果您认为本网站有帮助,请多多支持本站。

友情链接

汪汪宠物 |
事件薄