MySQL把字符串转成数字类型

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

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

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

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

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

方法一:SELECT CAST('123' AS SIGNED)

方法二:SELECT CONVERT('123',SIGNED)

方法三:SELECT '123'+0

MySQL 数字类型转换函数(concat/cast)。

1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′。

2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串。

总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)。

-- 比如将123转换为char类型

SELECT CAST(123 AS CHAR)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存