本文主要介绍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。
字符串类型的数字默认在比较大小时,往往会遇到一些坑,例如:在10和9比较大小时字符串类型的数字会以为9比10大,但事实上我们想要比较的结果是10>9,这是为什么呢?其实字符串在比较大小时,比较的是它对应的ASCII码,1的ASCII码比9对应的ASCII码小,系统就会认为10<9。 这时我们可以使用MySQL的 CAST() 函数,将想要转换的字符串转换成想要的类型。
例如:字符串‘123.45’可以转成整数,DECIMAL默认取得整数,也可以使用SIGNED
当然也可以指定小数位数,5代表了要取的数字位数(整数位和小数位和),2代表要取到的小数位数。
转换完成就可以用来进行后期的数值比较了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)