1、将字符的数字转成数字,比如’0’转成0可以直接用加法来实现
例如:将user表中的uid 进行排序,可uid的定义为varchar,可以这样解决
select * from user order by (uid+0)
2、在进行ifnull处理时,比如 ifnull(a/b,’0′) 这样就会导致 a/b成了字符串,因此需要把’0’改成0,即可解决此困扰
3、比较数字和varchar时,比如a=11,b=”11ddddd”;
则 select 11=”11ddddd”相等
若绝对比较可以这样:
select binary 11 =binary “11ddddd”
另外:
今天看到Mysql的 Cast和Convert函数,也能实现‘字符数字转换为数字’
两者具体的语法如下:
Cast(value as type); Convert(value ,type);
type不是都可以滴,可以转换的type如下:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED