MySQL的类型转换函数如下:
CAST(expr AS type), CONVERT(expr,type), CONVERT(expr USING transcoding_name)
CAST(expr AS type), CONVERT(expr,type), CONVERT(expr USING transcoding_name)
The type can be one of the following values:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
例:
mysql> set @temp=100.00;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql> select @temp;
+--------+
| @temp |
+--------+
| 100.00 |
+--------+
1 row in set (0.00 sec)
+--------+
| @temp |
+--------+
| 100.00 |
+--------+
1 row in set (0.00 sec)
mysql> select cast(@temp as signed);
+-----------------------+
| cast(@temp as signed) |
+-----------------------+
| 100 |
+-----------------------+
1 row in set (0.00 sec)
+-----------------------+
| cast(@temp as signed) |
+-----------------------+
| 100 |
+-----------------------+
1 row in set (0.00 sec)
mysql> select cast(@temp as unsigned);
+-------------------------+
| cast(@temp as unsigned) |
+-------------------------+
| 100 |
+-------------------------+
1 row in set (0.00 sec)
+-------------------------+
| cast(@temp as unsigned) |
+-------------------------+
| 100 |
+-------------------------+
1 row in set (0.00 sec)
mysql> select convert(@temp,signed);
+-----------------------+
| convert(@temp,signed) |
+-----------------------+
| 100 |
+-----------------------+
1 row in set (0.00 sec)
+-----------------------+
| convert(@temp,signed) |
+-----------------------+
| 100 |
+-----------------------+
1 row in set (0.00 sec)
mysql> select convert(@temp,unsigned);
+-------------------------+
| convert(@temp,unsigned) |
+-------------------------+
| 100 |
+-------------------------+
1 row in set (0.00 sec)
+-------------------------+
| convert(@temp,unsigned) |
+-------------------------+
| 100 |
+-------------------------+
1 row in set (0.00 sec)
mysql> select '中文';
+------+
| 中文 |
+------+
| 中文 |
+------+
1 row in set (0.00 sec)
+------+
| 中文 |
+------+
| 中文 |
+------+
1 row in set (0.00 sec)
mysql> select convert('中文' using gb2312);
+------------------------------+
| convert('中文' using gb2312) |
+------------------------------+
| ??? |
+------------------------------+
1 row in set (0.02 sec)
+------------------------------+
| convert('中文' using gb2312) |
+------------------------------+
| ??? |
+------------------------------+
1 row in set (0.02 sec)
mysql> select convert('中文' using utf8);
+----------------------------+
| convert('中文' using utf8) |
+----------------------------+
| NULL |
+----------------------------+
1 row in set, 1 warning (0.00 sec)
+----------------------------+
| convert('中文' using utf8) |
+----------------------------+
| NULL |
+----------------------------+
1 row in set, 1 warning (0.00 sec)
MySQL配置为utf8字符集的,所以这儿将'中文'转化为utf8时会有警告.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25281640/viewspace-710448/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25281640/viewspace-710448/