SQL自定义函数
SQL 自定义函数
函数分类
函数分为标量函数、表值函数、自定义函数。
标量函数
标量函数返回一个单一的值,通常用于计算或转换数据。
CREATE FUNCTION dbo.GetAge(@BirthDate datetime)
RETURNS int
AS
BEGIN
DECLARE @Age int
SET @Age = DATEDIFF(year,@BirthDate,GETDATE())
RETURN @Age
END
调用函数:
SELECT dbo.GetAge('1980-01-01')
函数返回值:
33
表值函数
表值函数返回一个表,通常用于查询或过滤数据。
CREATE FUNCTION dbo.GetCustomers(@City varchar(50))
RETURNS TABLE
AS
RETURN(
SELECT * FROM Customers WHERE City = @City
)
调用函数:
SELECT * FROM dbo.GetCustomers('New York')
函数返回值:
| # | CustomerID | CustomerName | City |
|---|---|---|---|
| 1 | John | New | York |
| 2 | Mary | New | York |
| 3 | Tom | New | York |
自定义函数
自定义函数可以根据具体需求编写,通常用于执行复杂的计算或逻辑处理。自定义函数的创建和调用方式与标量函数类似,但可以包含更复杂的逻辑。
在SQL中,还可以定义自定义聚合函数,例如计算员工工资的平均值:
CREATE FUNCTION F_AVG_SALARY()
RETURNS FLOAT
AS
BEGIN
RETURN (SELECT AVG(工资) FROM [员工信息表])
END
调用函数:
SELECT DBO.F_AVG_SALARY() AS 平均工资 FROM [员工信息表]
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 枫月Blog
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果