轉換函數將值從一種數據類型轉換為另一種。在資料庫中很多時候需要把一個類型的數據轉換成另一個數據類型來進行運算或者輸出顯示,這種轉換有的時候可以隱士的轉換有的時候就需要強制類型轉換。在保證數據正確的情況下進行強制類型轉換。
數據類型轉換可以通過CAST()和CONVERT()函數來實現。大多數情況下,這兩個函數是重疊的,它們反映了SQL語言的演化歷史。這兩個函數的功能相似,不過它們的語法不同。雖然並非所有類型的值都能轉變為其他數據類型,但總的來說,任何可以轉換的值都可以用簡單的函數實現轉換。
CAST()和CONVERT()函數在轉換過程中除了語法不一樣以外幾乎都一樣,基本語法:CAST語法:【SELECT CAST(變量或者列名 AS 要轉換的數據類型)】。CONVERT語法:【SELECT CONVERT(要轉換的數據類型,變量或者列名) 】。兩個一個用as分割一個用逗號分隔轉換結果沒有什麼不同。
注意的是CAST()函數和CONVERT()函數都不能執行四捨五入或截斷操作。由於3.14不能用int數據類型來表示,所以在把小數轉換整數的時候會出現錯誤。
STR()函數這是一個將數字轉換為字符串的快捷函數。這個函數有3個參數:數值、總長度和小數位數。如果數字的整數位數和小數位數(要加上小數點佔用的一個字符)的總和小於總長度,對結果中左邊的字符將用空格填充。在下面的例子中左邊用空格填充右邊用0填充。
PARSE()函數返回 SQL Server 中轉換為所請求的數據類型的表達式的結果。基本語法是:PARSE ( string_value AS data_type [ USING culture ] ) string_value為nvarchar(4000) 值,表示要解析為指定數據類型的格式化值。string_value 必須為所請求的數據類型的表示形式,否則 PARSE 將引發錯誤。
data_type表示結果的所請求數據類型的文本值。culture可選字符串,它標識對string_value 進行格式化的區域性。如果未提供 culture 參數,則使用當前會話的語言。 可以使用 SET LANGUAGE 語句隱式或顯式設置此語言。culture 接受 .NET Framework 支持的任何區域性;它不局限於 SQL Server 顯示支持的語言。 如果 culture 參數無效,PARSE 將引發錯誤。返迴轉換為所請求的數據類型的表達式的結果。