在 SQL Server 中,函數是一組預定義的操作或計算,可以在查詢中使用來執行特定任務。函數可以分為兩類:系統預設函數和使用者自訂函數。這些函數幫助我們在查詢中進行數據處理、轉換和計算,並提高代碼的可讀性和可維護性。
SQL Server 提供了多種內建函數,這些函數可以按類型分類,如數學函數、字符串函數、日期和時間函數等。
函數 | 說明 | 範例 |
---|---|---|
ABS |
返回絕對值 | SELECT ABS(-1.25); |
ROUND |
返回四捨五入的數值 | SELECT ROUND(123.456, 2); |
SQRT |
返回平方根 | SELECT SQRT(16); |
函數 | 說明 | 範例 |
---|---|---|
LEN |
返回字符串的長度 | SELECT LEN('Hello'); |
UPPER |
將字符串轉為大寫 | SELECT UPPER('hello'); |
SUBSTRING |
返回字符串的子字符串 | SELECT SUBSTRING('Hello', 1, 2); |
函數 | 說明 | 範例 |
---|---|---|
GETDATE |
返回當前日期和時間 | SELECT GETDATE(); |
DATEADD |
向日期添加指定的時間間隔 | SELECT DATEADD(DAY, 7, GETDATE()); |
DATEDIFF |
返回兩個日期之間的時間間隔 | SELECT DATEDIFF(DAY, '2022-01-01', GETDATE()); |
使用者自訂函數允許使用者根據特定需求創建自定義的函數。這些函數可以分為兩種主要類型:標量函數和表值函數。
定義:標量函數返回單一值,可以是數字、字符串、日期等。
範例:
CREATE FUNCTION dbo.GetFullName (@FirstName NVARCHAR(50), @LastName NVARCHAR(50))
RETURNS NVARCHAR(100)
AS
BEGIN
RETURN @FirstName + ' ' + @LastName;
END;
使用範例:
SELECT dbo.GetFullName('John', 'Doe');
FROM
子句中。