SQL Server 函數指令 (1)

教學目標

初步了解 SQL Server 格式轉換的函數指令之基本概念。

重點概念

首先 T-SQL 支援多種函式將來源表達式轉換至目標類型,主要包括 CAST、CONVERT 和 PARSE 函式指令的功能。其中 CAST 是標準的函數指令,但是 CONVERT 和 PARSE 則是非標準的函數令,預設轉換函式則是以 CAST 標準的函數指令為主,像是CAST(‘20170213’ AS INT) 將文字格式轉數字格式。

接著 CONVERT 函數指令能夠指令特定的樣式參數,像是 CONVERT(DATE, ‘02/13/2018’ , 101) 主要是將 ‘02/13/2018’ 將文字格式轉換為 February 13, 2018 日期格式,至於 PARSE 函數指令則是修改 CONVERT 將樣式參數的數字定義為文字,像是 PARSE( ‘02/13/2018’ AS DATE USING ‘en-US’) 將文字格式轉換為 February 13, 2018 日期格式。

再來 CAST、CONVERT 和 PARSE 在查詢應用時將會發生無法轉換的錯誤導致查詢失敗,並且停止處理,此時我們將會透過 TRY_CAST、TRY_CONVERT 和 TRY_PARSE 指令函數嘗試轉換,若是無法轉換就會返回 NULL,而不會造成查詢失敗。

最後我們也能夠的透過 FORMAT 函數指令轉換格式,但請注意 PARSE 和 FORMAT 函數指令相較於 CAST 和 CONVERT 函數指令效能較緩慢,因此若我們需要在查詢中處理大量資料時,則建議採用 CAST 或 CONVERT 函數指令以利取得更佳的處理效能。

相關資源