Sql Server資料型別轉換函式

舟之橋發表於2013-02-17

原文連結地址:http://database.51cto.com/art/201009/224359.htm

Sql Server資料型別轉換函式是Sql中最重要的函式之一,下面就為您介紹Sql Server資料型別轉換函式的詳細使用,供您參考,希望對您有所幫助。

在一般情況下,SQL Server 會自動完成資料型別的轉換,例如,可以直接將字元資料型別或表示式與DATATIME 資料型別或表示式比較當表示式中用了INTEGER、 SMALLINT或TINYINT 時,SQL Server 也可將INTEGER 資料型別或表示式轉換為SMALLINT資料型別或表示式,這稱為隱式轉換。如果不能確定SQL Server 是否能完成隱式轉換或者使用了不能隱式轉換的其它資料型別,就需要使用資料型別轉換函式做顯式轉換了。此類函式有兩個: 
・CAST()
CAST() 函式語法如下:
CAST (<expression> AS <data_ type>[ length ])

・CONVERT()
CONVERT() 函式語法如下:
CONVERT (<data_ type>[ length ], <expression> [, style])

提醒: 1、data_type為SQL Server系統定義的資料型別,使用者自定義的資料型別不能在此使用。
2、length用於指定資料的長度,預設值為30。
3、把CHAR或VARCHAR型別轉換為諸如INT或SAMLLINT這樣的INTEGER型別、結果必須是帶正號(+)或負號(-)的數值。
4、TEXT型別到CHAR或VARCHAR型別轉換最多為8000個字元,即CHAR或VARCHAR資料型別是最大長度。
5、IMAGE型別儲存的資料轉換到BINARY或VARBINARY型別,最多為8000個字元。
6、把整數值轉換為MONEY或SMALLMONEY型別,按定義的國家的貨幣單位來處理,如人民幣、美元、英鎊等。
7、BIT型別的轉換把非零值轉換為1,並仍以BIT型別儲存。
8、試圖轉換到不同長度的資料型別,會截短轉換值並在轉換值後顯示“+”,以標識發生了這種截斷。

用CONVERT() 函式的style 選項能以不同的格式顯示日期和時間。style 是將DATATIME 和SMALLDATETIME 資料轉換為字串時所選用的由SQL Server 系統提供的轉換樣式編號,不同的樣式編號有不同的輸出格式。

例子:
        CAST([欄位名] as varchar(4000))
        CONVERT(varchar(4000),[欄位名])

相關文章