Posted on 2006-08-23 18:23
泰仔在線 閱讀(12735)
評論(0) 編輯 收藏 所屬分類:
Java 相關(guān)
在一般情況下,SQL Server 會自動完成數(shù)據(jù)類型的轉(zhuǎn)換,例如,可以直接將字符數(shù)據(jù)類型或表達式與DATATIME 數(shù)據(jù)類型或表達式比較當表達式中用了INTEGER、 SMALLINT或TINYINT 時,SQL Server 也可將INTEGER 數(shù)據(jù)類型或表達式轉(zhuǎn)換為SMALLINT數(shù)據(jù)類型或表達式,這稱為隱式轉(zhuǎn)換。如果不能確定SQL Server 是否能完成隱式轉(zhuǎn)換或者使用了不能隱式轉(zhuǎn)換的其它數(shù)據(jù)類型,就需要使用數(shù)據(jù)類型轉(zhuǎn)換函數(shù)做顯式轉(zhuǎn)換了。此類函數(shù)有兩個:
·CAST()
CAST() 函數(shù)語法如下:
CAST (<expression> AS <data_ type>[ length ])
·CONVERT()
CONVERT() 函數(shù)語法如下:
CONVERT (<data_ type>[ length ], <expression> [, style])
提醒: 1、data_type為SQL Server系統(tǒng)定義的數(shù)據(jù)類型,用戶自定義的數(shù)據(jù)類型不能在此使用。
2、length用于指定數(shù)據(jù)的長度,缺省值為30。
3、把CHAR或VARCHAR類型轉(zhuǎn)換為諸如INT或SAMLLINT這樣的INTEGER類型、結(jié)果必須是帶正號(+)或負號(-)的數(shù)值。
4、TEXT類型到CHAR或VARCHAR類型轉(zhuǎn)換最多為8000個字符,即CHAR或VARCHAR數(shù)據(jù)類型是最大長度。
5、IMAGE類型存儲的數(shù)據(jù)轉(zhuǎn)換到BINARY或VARBINARY類型,最多為8000個字符。
6、把整數(shù)值轉(zhuǎn)換為MONEY或SMALLMONEY類型,按定義的國家的貨幣單位來處理,如人民幣、美元、英鎊等。
7、BIT類型的轉(zhuǎn)換把非零值轉(zhuǎn)換為1,并仍以BIT類型存儲。
8、試圖轉(zhuǎn)換到不同長度的數(shù)據(jù)類型,會截短轉(zhuǎn)換值并在轉(zhuǎn)換值后顯示“+”,以標識發(fā)生了這種截斷。
用CONVERT() 函數(shù)的style 選項能以不同的格式顯示日期和時間。style 是將DATATIME 和SMALLDATETIME 數(shù)據(jù)轉(zhuǎn)換為字符串時所選用的由SQL Server 系統(tǒng)提供的轉(zhuǎn)換樣式編號,不同的樣式編號有不同的輸出格式。