SQLSERVER学习六:函数

函数(CREATE、ALTER、DROP)

  • 标量型函数:返回一个确定类型的标量值
--创建标量型函数
CREATE FUNCTION dbo.GetWeekDay(@date DATETIME) --CREATE FUNCTION 所有者.函数名(@参数名 参数类型) 
RETURNS INT AS --RETURNS 返回类型 AS

BEGIN --函数主题
    RETURN DATEPART(WEEKDAY,@date) --RETURN 返回的对象
END;
GO

--使用函数 
SELECT dbo.GetWeekDay(GETDATE())    --数据库名.所有者.函数名(传入参数)
  • 内联表值型函数:以表的形式返回一个返回值,不能使用 BEGIN···END,起返回的表由SELECT语句从数据库中删选出来
CREATE FUNCTION dbo.Getoutlay() -- CREATE FUNCTION 所有者.函数名
RETURNS TABLE AS -- 返回表数据
RETURN(SELECT * FROM Table_1);--RETURN(返回表数据的SQL语句);
GO

SELECT * FROM dbo.Getoutlay();--调用
  • 多声明表值类型函数:标量型和内联表型的结合体,返回值是一个表,且能使用BEGIN···END
CREATE FUNCTION dbo.Getoutlay1() -- CREATE FUNCTION 所有者.函数名
RETURNS @Table TABLE(Ty INT,Sy INT) -- RETURNS @返回变量名 TABLE(列名 列类型,列名 列类型,···)
AS
BEGIN
    INSERT INTO @Table  SELECT * FROM Table_1;--向返回变量中添加数据,注意添加的数据要与返回变量的数据列、类型对起来
    RETURN;
END
GO

SELECT * FROM dbo.Getoutlay1();--调用
原文地址:https://www.cnblogs.com/juanheqiao/p/14346469.html