IF函数BUG

IF函数这样写有问题吗?tidb中判断为false输出为小数,mysql中判断为true输出为整数1
image

把 sql 完整复制黏贴出来,方便其他小伙伴测试

测了下
mysql

tidb


image

tidb输出也是true,只是小数和整数区别

tidb简化测试下:
image
image

可以发现if函数返回值如果有一个是小数,tidb整数的返回也会转成小数



应该是个 bug,两者输出的类型都是 NEWDECIMAL,但 mysql 的 Max_length 是 1,tidb 的是 4

在 github 上开了个 issue The result of `IF` function not compatible with MySQL. · Issue #58933 · pingcap/tidb · GitHub