在 SQL Server 中,函數是一組預定義的操作或計算,可以在查詢中使用來執行特定任務。函數可以分為兩類:系統預設函數和使用者自訂函數。這些函數幫助我們在查詢中進行數據處理、轉換和計算,並提高代碼的可讀性和可維護性。

函數的基本概念

  1. 函數:在 SQL Server 中,函數是一段預定義的 SQL 代碼,用於執行特定的計算或操作。函數可以接受輸入參數,並返回一個值或表格。
  2. 系統預設函數:SQL Server 提供的一些內建函數,用於各種常見的數據操作,如數學計算、字符串處理、日期和時間操作等。
  3. 使用者自訂函數:使用者根據特定需求自行創建的函數,可以用來封裝複雜的業務邏輯或計算。

系統預設函數

SQL Server 提供了多種內建函數,這些函數可以按類型分類,如數學函數、字符串函數、日期和時間函數等。

1. 數學函數

函數 說明 範例
ABS 返回絕對值 SELECT ABS(-1.25);
ROUND 返回四捨五入的數值 SELECT ROUND(123.456, 2);
SQRT 返回平方根 SELECT SQRT(16);

2. 字符串函數

函數 說明 範例
LEN 返回字符串的長度 SELECT LEN('Hello');
UPPER 將字符串轉為大寫 SELECT UPPER('hello');
SUBSTRING 返回字符串的子字符串 SELECT SUBSTRING('Hello', 1, 2);

3. 日期和時間函數

函數 說明 範例
GETDATE 返回當前日期和時間 SELECT GETDATE();
DATEADD 向日期添加指定的時間間隔 SELECT DATEADD(DAY, 7, GETDATE());
DATEDIFF 返回兩個日期之間的時間間隔 SELECT DATEDIFF(DAY, '2022-01-01', GETDATE());

使用者自訂函數

使用者自訂函數允許使用者根據特定需求創建自定義的函數。這些函數可以分為兩種主要類型:標量函數和表值函數。

1. 標量函數(Scalar Function)

2. 表值函數(Table-Valued Function)