Mysql字段类型转换

当数据库中某列为数字但数据类型是VARCHAR时,无法直接用MAX()获取最大值。通过CAST()函数可将VARCHAR转换为INT,然后使用MAX()。例如,`SELECTMAX(CAST(noticecodeASUNSIGNED))ASmaxFROMtable1`来获取最大数字。此外,CAST()还能用于日期转换和精度调整,如将日期转为毫秒数或将整数转为浮点型。
摘要由CSDN通过智能技术生成

 本文为 【Mysql】 CAST()函数相关知识,使用CAST()对数据进行类型转换。

假设场景:数据库table1表中某列存的是数字,但数据类型却是varchar,这样一来想获取到最大值使用MAX()函数肯定不可以了。

解决:可以先使用CAST()函数,将varchar转为int,再使用MAX()获取最大值


📌博主主页:一个肥鲇鱼

👉开发中的坏习惯:程序员的坏习惯,你占了几个!

👉感受 Lambda 之美:Java Lambda表达式

👉SpringSecurity+Jwt实现认证和授权:SpringSecurity认证和授权

语法

CAST函数语法规则是:Cast(字段名 as 转换的类型 )

BINARY 二进制
CHAR[(N)] 字符型
DATETIME 日期和时间型
DATE 日期型
TIME 时间型
DECIMAL 浮点型
SIGNED 整型
UNSIGNED 无符号整型

小栗子

1、字符转无符号整型

 如:noticecode字段为varchar类型,需要获取noticecode字段最大数

select max(cast(noticecode as unsigned)) max from table1;

结果:
max: 7

2、日期转毫秒数

表table1:
date:2023-02-21 15:02:12
select cast(date as signed) as date from table1;

结果:
date:20230221150212

3、整数转浮点型

表table1
num:20
select cast(num as decimal(10, 2)) as num from table1

结果:
num:20.00

就不一一举例了,相信聪明的小伙伴已经掌握此函数的使用了

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个肥鲶鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值