MySQL把字符串转成数字类型

MySQL把字符串转成数字类型,第1张

    字符串类型的数字默认在比较大小时,往往会遇到一些坑,例如:在10和9比较大小时字符串类型的数字会以为9比10大,但事实上我们想要比较的结果是10>9,这是为什么呢?其实字符串在比较大小时,比较的是它对应的ASCII码,1的ASCII码比9对应的ASCII码小,系统就会认为10<9。 这时我们可以使用MySQL的 CAST() 函数,将想要转换的字符串转换成想要的类型。

    例如:字符串‘123.45’可以转成整数,DECIMAL默认取得整数,也可以使用SIGNED

    当然也可以指定小数位数,5代表了要取的数字位数(整数位和小数位和),2代表要取到的小数位数。

        转换完成就可以用来进行后期的数值比较了!

1.varchar转int

函数:cast

用法:cast(字段 as SIGNED INTEGER)

或者cast(字段 as UNSIGNED INTEGER))

例如:SELECT CAST(DATE_FORMAT(NOW(),"%Y%m%d") as SIGNED INTEGER)

2.varchar转date

函数:str_to_date(字段,字符串格式)

用法:select str_to_date(字段,'%Y-%m-%d') from tablea limit 100;

根据日期进行选取

选取日期大于2019年的所有字段

例如:select * from tablea where str_to_date(tablea.日期,'%Y-%m-%d')>'2019-00-00'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7299791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存