zoukankan      html  css  js  c++  java
  • SqlServer Function 实例

    ① 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,0) ,
      @n_Days     decimal(10,0) ,
      @n_Months   decimal(10,0) ,
      @n_Years	  decimal(10,0),
      
      @v_Return Varchar(20)
      
      set @n_Years =datediff(YEAR,@BIRTHDAY,@MATH_DATEE) ;
      set @n_Months = datediff(MONTH,@BIRTHDAY,@MATH_DATEE) ;
      set @n_Days =datediff(DAY,@BIRTHDAY,@MATH_DATEE) ;
      set @n_Hour =datediff(HOUR,@BIRTHDAY,@MATH_DATEE) ;
      set @n_minute = datediff(MINUTE,@BIRTHDAY,@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(20),@n_minute) + '分';
    						END
    					ELSE
    						BEGIN
    							set @v_Return = convert(varchar(20),@n_Hour) + '小时';
    						END
    				END
    		    ELSE
    				BEGIN
    					set @v_Return = convert(varchar(20),@n_Days) + '天';
    				END
    		  END
    		ELSE
    			BEGIN
    				set @v_Return = convert(varchar(20),@n_Months) + '月';
    			END
    	END	
      ELSE 
    	  BEGIN
    		set @v_Return = convert(varchar(20),@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 年龄
    

    结果:

    结果

  • 相关阅读:
    Faster R-CNN
    Ubuntu软件安装
    Ubuntu16.04 caffe安装记录
    Unity Editor 工具开发 (三)——数据存储工具 -1
    #Unity Editor 工具开发 (二)
    Unity Editor 工具开发 (一)
    c# 多线程入门记录
    Unity 获取按键
    常用排序算法
    My “Hello World” For Blog
  • 原文地址:https://www.cnblogs.com/houlin/p/10148729.html
Copyright © 2011-2022 走看看