MySQL CAST與CONVERT 函數(shù)的用法
MySQL 的CAST()和CONVERT()函數(shù)可用來(lái)獲取一個(gè)類(lèi)型的值,并產(chǎn)生另一個(gè)類(lèi)型的值。兩者具體的語(yǔ)法如下:
CAST(value as type);CONVERT(value, type);
就是CAST(xxx AS 類(lèi)型), CONVERT(xxx,類(lèi)型)。
可以轉(zhuǎn)換的類(lèi)型是有限制的。這個(gè)類(lèi)型可以是以下值其中的一個(gè):
二進(jìn)制,同帶binary前綴的效果 : BINARY 字符型,可帶參數(shù) : CHAR() 日期 : DATE 時(shí)間: TIME 日期時(shí)間型 : DATETIME 浮點(diǎn)數(shù) : DECIMAL 整數(shù) : SIGNED 無(wú)符號(hào)整數(shù) : UNSIGNED下面舉幾個(gè)例子:
例一
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
例三
mysql> SELECT CAST(’3.35’ AS signed);+------------------------+| CAST(’3.35’ AS signed) |+------------------------+| 3 |+------------------------+1 row in set
像上面例子一樣,將varchar 轉(zhuǎn)為int 用 cast(a as signed),其中a為varchar類(lèi)型的字符串。
例4
在SQL Server中,下面的代碼演示了datetime變量中,僅包含單純的日期和單純的時(shí)間時(shí),日期存儲(chǔ)的十六進(jìn)制存儲(chǔ)表示結(jié)果。
DECLARE @dt datetime --單純的日期SET @dt=’1900-1-2’SELECT CAST(@dt as binary(8))--結(jié)果: 0x0000000100000000 --單純的時(shí)間SET @dt=’00:00:01’SELECT CAST(@dt as binary(8))--結(jié)果: 0x000000000000012C
MySQL的類(lèi)型轉(zhuǎn)換和SQL Server一樣,就是類(lèi)型參數(shù)有點(diǎn)點(diǎn)不同:CAST(xxx AS 類(lèi)型) ,CONVERT(xxx,類(lèi)型)。
相關(guān)文章:
1. MySQL/MariaDB 如何實(shí)現(xiàn)數(shù)據(jù)透視表的示例代碼2. sql server 災(zāi)難恢復(fù)3. 通過(guò)幾個(gè)步驟有效關(guān)閉Oracle死鎖進(jìn)程4. DB2的高可用性和災(zāi)難恢復(fù)概述5. MSSQL跨服務(wù)器連接的幾種方法6. Sql Server 2005 數(shù)據(jù)庫(kù)維護(hù)計(jì)劃7. ACCESS轉(zhuǎn)SQL數(shù)據(jù)庫(kù)相關(guān)的幾個(gè)技能8. 如何在SQL Server 2005中為安裝程序增加計(jì)數(shù)器注冊(cè)表項(xiàng)值9. 關(guān)于Sql server數(shù)據(jù)庫(kù)日志滿(mǎn)的快速解決辦法10. 詳解Centos 使用YUM安裝MariaDB
