轉換函數
在SQL Server中資料類型轉換分為兩種,分别如下:
隐性轉換:SQL Server自動處理某些資料類型的轉換。例如,如果比較char和datetime表達式、smallint和int表達式、或不同長度的char表達式,SQL Server可将它們自動轉換,這種轉換稱為隐性轉換,對這些轉換不必使用CAST函數。
顯式轉換:顯式轉換是指CAST和CONVERT函數,CAST和CONVERT函數将數值從一種資料類型(局部變量、列或其他表達式)轉換到另一種資料類型。
說明:
隐性轉換對使用者是不可見的,SQL Server自動将資料從一種資料類型轉換成另一種資料類型。例如,如果一個smallint 變量和一個int變量相比較,這個smallint變量在比較前即被隐性轉換成int變量。
CAST函數
CAST函數用于将某種資料類型的表達式顯示轉換為另一種資料類型。
--CAST函數
--将某種資料類型的表達式顯示轉換為另一種資料類型
SELECT CAST('1234567' AS NVARCHAR(5)) AS 結果
Convert函數
--CONVERT函數
--将目前日期和時間顯示為字元資料,并使用 CAST 将字元資料改為 datetime 資料類型,然後使用 CONVERT 将字元資料改為 datetime 資料類型
SELECT GETDATE() AS 目前時間,
CAST(GETDATE() AS DATETIME) AS 'CAST',
CONVERT(DATETIME,GETDATE(),130) AS 'CONVERT'