1、将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80'
2、将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串
www.2cto.com
总结:类型转换和SQL Server一样,就是类型参数有点点不同:CAST(xxx AS类型),CONVERT(xxx,类型)
可用的类型
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
下面举几个例子:
例一
mysql> SELECT CONVERT('23',SIGNED);
+----------------------+
| CONVERT('23',SIGNED) |
+----------------------+
| 23 |
+----------------------+
1 row in set
例二
mysql> SELECT CAST('125e342.83' AS signed);
+------------------------------+
| CAST('125e342.83' AS signed) |
+------------------------------+
| 125 |
+------------------------------+
1 row in set
例三
DECLARE @dt datetime
--单纯的日期
SET @dt='1900-1-2'
SELECT CAST(@dt as binary(8))
--结果: 0x0000000100000000
--单纯的时间
SET @dt='00:00:01'
SELECT CAST(@dt as binary(8))
--结果: 0x000000000000012C
MySQL的类型转换和SQL Server一样,就是类型参数有点点不同:CAST(xxx AS 类型) ,CONVERT(xxx,类型)。
另外:mysql对汉字排序需要转换编码方式 UTF-8 ---> gbk
convert(字段名 using 编码)