深入MYSQL字符数字转换的详解

1、将字符的数字转成数字,比如’0’转成0可以直接用加法来实现

例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决

select * from pony order by (d+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"

4、字符集转换 : CONVERT(xxx USING gb2312)

类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型),类型必须用下列的类型:

可用的类型

二进制,同带binary前缀的效果 : BINARY

字符型,可带参数 : CHAR()

日期 : DATE

时间: TIME

日期时间型 : DATETIME

浮点数 : DECIMAL

整数 : SIGNED

无符号整数 : UNSIGNED