cast() 和 convert() 函数


cast() 和 convert() 函数非常常用,它们可以转换数据的数据类型、字符集以及排序校对规则。

数据类型转换

cast() 和 convert() 函数可以将 value 值,从当前数据类型转换为另一种数据类型。

基本语法:

CAST(expr AS type)
CONVERT(expr, type)
mysql> select now(), cast(now() as date), convert(now(), date);
+---------------------+---------------------+----------------------+
| now()               | cast(now() as date) | convert(now(), date) |
+---------------------+---------------------+----------------------+
| 2023-02-16 14:52:54 | 2023-02-16          | 2023-02-16           |
+---------------------+---------------------+----------------------+
1 row in set (0.00 sec)

当无符号的整数,减去另一个大于它的整数时,会报错。

mysql> select cast(2 as unsigned) - 5;
ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in '(cast(2 as unsigned) - 5)'

这是因为如果其中有一个,确定了是无符号的话,若相减的结果小于 0,就会报错。

解决方法:最好将两个数都确切转换成有符号(s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值