udfdemo7.sql

来自「T-SQL示例大全」· SQL 代码 · 共 48 行

SQL
48
字号
/* 文件名称: UDFDemo7.sql */
USE 北风贸易
GO

if exists (select * from dbo.sysobjects where id = object_id(N'dbo.udf_GetPerson') and xtype in (N'FN', N'IF', N'TF'))
drop function dbo.udf_GetPerson
GO

CREATE FUNCTION dbo.udf_GetPerson
(
@youngage tinyint,
@oldage tinyint,
@department varchar(10),
@currentdate datetime
)
RETURNS @ResultTable TABLE (姓名 nvarchar(10) NULL,
                                                       性别 nvarchar(2) NULL,
                                                       婚姻 nvarchar(4) NULL,
                                                       年龄 int NULL,
                                                       电话号码 nvarchar(11) NULL,
                                                       部门 nvarchar(10) NULL)
AS
BEGIN
     IF @youngage < 18
         INSERT @ResultTable VALUES ('未成年','XX','不知',18,'00000000','不收未成年')
     ELSE
         --将数据新增至 table 变量 @ResultTable
         INSERT @ResultTable
             SELECT 姓名,
                            性别 = CASE 员工性别
                                         WHEN 0 THEN '女'
                                         WHEN 1 THEN '男'
                                         END,
                             婚姻 = CASE 婚姻状况
                                         WHEN 0 THEN '未婚'
                                         WHEN 1 THEN '已婚'
                                         END,
                             年龄 = DATEDIFF(yy,出生日期,@currentdate),
                             电话号码,
                             部门
                 FROM 飞狐工作室
                 WHERE DATEDIFF(yy,出生日期,@currentdate) BETWEEN @youngage AND @oldage
                        AND 部门 = @department
         RETURN
END

GO

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?