mysql字符型数据表示数字
导读:MySQL中,字符型数据可以用来表示数字。但是需要注意的是,这样做可能会给计算带来一些麻烦。下面我们通过实例来说明。mysql˃select '123' + '456';+-----------+| '123' + '456' |+----...
MySQL中,字符型数据可以用来表示数字。但是需要注意的是,这样做可能会给计算带来一些麻烦。下面我们通过实例来说明。
mysql>
select '123' + '456';
+-----------+| '123' + '456' |+-----------+| 579 |+-----------+通过上面的查询结果可以看出,MySQL将字符型的'123'和'456'转换为数字类型进行计算,并且得到正确的结果。但是,在某些特定情况下,运算结果并不是正确的:
mysql>
select '20' + '21 is the left';
+-----------------------+| '20' + '21 is the left' |+-----------------------+| 41 |+-----------------------+由于'21 is the left'不是一个有效的数字,因此MySQL只将前面的'20'转换为数字进行计算,结果显然是错误的。
为了避免上述问题,我们可以使用CAST函数将字符型数据强制转换为数字类型。例如:
mysql>
select CAST('20' AS UNSIGNED) + CAST('21 is the left' AS UNSIGNED);
+-----------------------------------------------------+| CAST('20' AS UNSIGNED) + CAST('21 is the left' AS UNSIGNED) |+-----------------------------------------------------+| 41 |+-----------------------------------------------------+通过强制转换后,就可以得到正确的计算结果了。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: mysql字符型数据表示数字
本文地址: https://pptw.com/jishu/452005.html
