说说 SQL 的隐式数据类型转换?(补充)
2024 年 04 月 25 日增补
在 SQL 中,当不同数据类型的值进行运算或比较时,会发生隐式数据类型转换。
比如说,当一个整数和一个浮点数相加时,整数会被转换为浮点数,然后再进行相加。
SELECT 1 + 1.0; -- 结果为 2.0
比如说,当一个字符串和一个整数相加时,字符串会被转换为整数,然后再进行相加。
SELECT '1' + 1; -- 结果为 2
数据类型隐式转换会导致意想不到的结果,所以要尽量避免隐式转换。

可以通过显式转换来规避这种情况。
SELECT CAST('1' AS SIGNED INTEGER) + 1; -- 结果为 2
THE END
暂无评论内容