MySQL 数字类型转换函数(concat/cast)

首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

MySQL 数字类型转换函数(concat/cast)

作者:  时间: 2011-03-09

1、将Int 转为varchar经常用 concat函数,比如concat(8,’0′) 得到字符串 ’80′
2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串
总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型)
可用的类型
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED

cast函数运行示例

mysql> select cast(’125e342.83′ as signed) as clm1, cast(‘foo seo 589′ as signed) as clm2,cast(’3.35′ as signed) as clm3;
+——+——+——+
| clm1 | clm2 | clm3 |
+——+——+——+
|  125 |    0 |    3 |
+——+——+——+
1 row in set, 3 warnings (0.00 sec)

mysql>



CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name)
CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。

这个类型 可以是以下值其中的 一个:  

BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]