MySQL 的CAST()和CONVERT()函數可用於取得一個類型的值,並產生另一個類型的值。兩者俱體的語法如下:
CAST(value as type); CONVERT(value, type);
就是CAST(xxx AS 類型), CONVERT(xxx,類型)。
可以轉換的型別是有限制的。這個型別可以是以下值其中的一個:
二進制,同帶binary前綴的效果: BINARY
字符型,可帶參數: CHAR()
化日期: DATE DATETIME
浮點數: DECIMAL
整數: SIGNED
無符號整數: UNSIGNED rro
例三mysql> SELECT CONVERT('23',SIGNED); +----------------------+ | CONVERT('23',SIGNED) | +----------------------+ | 23 | +----------------------+ 1 row in set像上面例子一樣,將varchar 轉為int 用cast(a as signed),其中a為varchar型別的字串。 例4在SQL Server中,下面的程式碼示範了datetime變數中,當僅包含單純的日期和單純的時間時,日期儲存的十六進位儲存表示結果。
mysql> SELECT CAST('125e342.83' AS signed); +------------------------------+ | CAST('125e342.83' AS signed) | +------------------------------+ | 125 | +------------------------------+ 1 row in setMySQL的型別轉換和SQL Server一樣,就是型別參數有點不同:CAST(xxx AS 類型) ,CONVERT(xxx,型)。