深入MYSQL字符数字转换的详解
更新时间:2013年06月11日 09:15:23 作者:
本篇文章是对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
例如:将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
相关文章
MySQL SQL预处理(Prepared)的语法实例与注意事项
所谓预编译语句就是将此类SQL语句中的值用占位符替代,可以视为将 SQL语句模板化或者说参数化,一般称这类语句叫Prepared Statements,下面这篇文章主要给大家介绍了关于MySQL SQL预处理(Prepared)的相关资料,需要的朋友可以参考下2022-01-01解决MySQL登录报错1130:1130 Host ***.***.***.*** is not allowe
有时候在登录到MySQL服务器时会遇到1130错误,这是因为无法连接到MySQL服务器或其他一些原因,这篇文章主要给大家介绍了关于解决MySQL登录报错1130:1130 Host ***.***.***.*** is not allowed to connect to this MySQL server的相关资料,需要的朋友可以参考下2023-12-12MySQL无法重启报错Warning: World-writable config file ‘/etc/my.cnf’
最近在维护公司服务器的时候,在关闭数据库的命令发现mysql关不了了,提示错误为Warning: World-writable config file '/etc/my.cnf' is ignored,通过查找网上的资料终于解决了,现在将解决的方法分享给大家,同样遇到这个问题的朋友们可以参考借鉴。2016-12-12
最新评论