加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer Function 实例

发布时间:2020-12-12 14:20:02 所属栏目:MsSql教程 来源:网络整理
导读:① sql server function 创建 这里使用一个计算年龄精确到分的function作为一个demo, create Function [dbo].[fn_GetAge]( @BIRTHDAY DateTime,@MATH_DATEE DateTime) returns Varchar(20)BeginDECLARE @n_minute decimal(10,0),@n_Hour decimal(10,@n_Days

① sql server function 创建

这里使用一个计算年龄精确到分的function作为一个demo,

create Function [dbo].[fn_GetAge]
(
  @BIRTHDAY DateTime,@MATH_DATEE DateTime
) returns Varchar(20)

Begin
DECLARE 
  @n_minute   decimal(10,0),@n_Hour     decimal(10,@n_Days     decimal(10,@n_Months   decimal(10,@n_Years    decimal(10,@v_Return Varchar(20)
  
  set @n_Years =datediff(YEAR,@BIRTHDAY,@MATH_DATEE) ;
  set @n_Months = datediff(MONTH,@MATH_DATEE) ;
  set @n_Days =datediff(DAY,@MATH_DATEE) ;
  set @n_Hour =datediff(HOUR,@MATH_DATEE) ;
  set @n_minute = datediff(MINUTE,@MATH_DATEE) ;
  set @v_Return='0';
  
  IF @n_Years = 0
    BEGIN
        IF @n_Months = 0
          BEGIN
            IF @n_Days = 0
                BEGIN
                    IF @n_Hour = 0
                        BEGIN
                            set @v_Return = convert(varchar(2),@n_minute) + '分';
                        END
                    ELSE
                        BEGIN
                            set @v_Return = convert(varchar(2),@n_Hour) + '小时';
                        END
                END
            ELSE
                BEGIN
                    set @v_Return = convert(varchar(2),@n_Days) + '天';
                END
          END
        ELSE
            BEGIN
                set @v_Return = convert(varchar(2),@n_Months) + '月';
            END
    END 
  ELSE 
      BEGIN
        set @v_Return = convert(varchar(2),@n_Years) + '岁';
      END
  

  Return @v_Return; 
End;


GO

② sql server function 使用

select dbo.fn_GetAge('2012-04-25 03:00:00.000','2012-04-25 06:42:00.000') as 年龄

结果:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读