MySQL把字符串转成数字类型

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

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

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

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

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

技术mysql如何转换varchar这篇文章主要介绍了mysql如何转换varchar,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

本文主要介绍mysql如何转换varchar,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去了解它。

mysql转换varchar的方法:1。使用强制转换函数进行转换;2.使用“从表名中选择-(-字段名;”模式转换;3.使用“从表名中选择字段名0;”模式转换。

本文 *** 作环境:windows7系统,mysql5.5版,戴尔G3电脑。

MySQL varchar类型转化:

问题:作为数据过滤模块,原来的表格设计有问题。表中的字段是字符串,过滤条件是数值,因此无法进行比较。

思考:你可以提取mysql字段字符串中的数字,然后进行比较。

解决:通过查阅资料,找到了三种方法。

1.使用cast函数

示例:SELECT CAST(字段名为UNSIGNED) FROM表名;

cast函数的语法规则是:Cast(作为转换的字段名的类型),其中类型可以是:

CHAR[(N)]代表:字符类型

DATE代表:日期类型

DATETIME代表:日期和时间类型

DECIMAL代表:浮点型

Ed代表:int

TIME代表:时间类型。对于以数字开头的字符串,将其转换为数字的结果是截取前一个数字部分。但是对于开头部分无法截取数字的字符串,转换结果为0,需要注意。

2.使用 -(-字段名)

示例:从表名中选择-(-字段名);

这太棒了,简单又粗鲁。

3.使用字段名直接+0,

例如:从表名中选择字段名0;

这仅用于内容都是varchar类型的数字的字段,不能包含中文或其他单词,否则将报告错误。一般建议使用1,2。

都是用来获取一个类型的值,并产生另一个类型的值。

语法上不同:select cast('2.333' as signel) , convert('2.333',signed)#结果都2.


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

原文地址: https://outofmemory.cn/zaji/5897415.html

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

发表评论

登录后才能评论

评论列表(0条)

保存