zoukankan      html  css  js  c++  java
  • SQL 生日得到年龄

      
    CREATE  FUNCTION ufn_hr_getagefrombirthday  
    (  
        @birthday DATE,  
        @now DATE  =NULL  
          
    )  
    RETURNS VARCHAR(20)  
    BEGIN  
      
      
        IF (@now IS NULL OR @now = '')  
        BEGIN  
            SET @now = GETDATE();  
        END;  
      
      
        DECLARE @age INT;  
        SET @age = 0;  
      
        DECLARE @result VARCHAR(20);  
      
        WHILE (DATEADD(YEAR, @age, @birthday) < @now)  
        BEGIN  
            SET @age = @age + 1;  
        END;  
      
      
      
        SELECT @result  
            = CAST(CASE  
                       WHEN (@age - 1) < 0 THEN  
                           0  
                       ELSE  
            (@age - 1)  
                   END AS VARCHAR(4)) + ''  
              + CAST(DATEDIFF(  
                                 DAY,  
                                 DATEADD(   YEAR,  
                                            CASE  
                                                WHEN (@age - 1) < 0 THEN  
                                                    0  
                                                ELSE  
                                            (@age - 1)  
                                            END,  
                                            DATEADD(DAY, 1, @birthday)  
                                        ),  
                                 DATEADD(YEAR, @age, DATEADD(DAY, 1, @birthday))  
                             ) + 1 - (DATEDIFF(DAY, @now, DATEADD(YEAR, @age, DATEADD(DAY, 1, @birthday)))) AS VARCHAR(4))  
              + '/'  
              + CAST(DATEDIFF(  
                                 DAY,  
                                 DATEADD(YEAR, @age - 1, DATEADD(DAY, 1, @birthday)),  
                                 DATEADD(YEAR, @age, DATEADD(DAY, 1, @birthday))  
                             )  
    AS      VARCHAR(4))  + '';  
      
      
        RETURN @result;  
    END;
  • 相关阅读:
    WinForm被遮挡的控件解决方案
    IC卡资料
    水晶报表2008部署
    打造最强的VC6
    SqlServer Case
    using namespace std
    非接触式IC智能(射频)卡
    删除VS2005插件

    SQLServer2005数据库自动备份
  • 原文地址:https://www.cnblogs.com/BinBinGo/p/10468824.html
Copyright © 2011-2022 走看看