标签归档:datediff

MSSQL sqlserver使用sql脚本获取两个日期之间的“月数、天数、周数”的方法分享


摘要:
下文讲述sqlserver中获取两个日期之间的 月数、天数、周数的方法分享


实现思路:
通过向datediff中输入不同的参数,达到返回两个日期之间的月数、周数、天数

    --参数定义
    declare @date1 varchar(20)
    declare @date2 varchar(20)
 
    set @date1 ='2019-1-1'
    set @date2 ='2019-8-31'
    
     --获取两个日期之间的月数
    select DATEDIFF(MM,@date1,@date2)
     --获取两个日期之间的周数
    select DATEDIFF(WW,@date1,@date2)
     --获取两个日期之间的天数
    select DATEDIFF(DD,@date1,@date2)

mssql sqlserver使用sql脚本计算两个日期相差的年份和月份的方法分享


摘要:
下文分享在sqlserver中如何计算两个日期之间的年份或月份差,如下所示:
实验环境:sqlserver 2008 R2



实现思路:
通过在datediff系统函数中输入不同的参数及可实现sqlserver中计算年份和月份差的方法,如下所示:

 ---例:
    declare @maomaoDate1 datetime
    declare @maomaoDate2 datetime
   
    set @maomaoDate1 ='2019-10-12'
    set @maomaoDate2 ='2019-12-28'
 
    ---计算两个日期之间年份差
     select datediff(year,@maomaoDate1,@maomaoDate2) as [日期之间年份差]     
    
    ---计算两个日期之间月份差
    select datediff(month,@maomaoDate1,@maomaoDate2) as [日期之间月份差]    
    
    go 
 

mssql sqlserver 根据”出生年月日”获取年龄的方法分享


摘要:
下文通过举例的方式讲述根据”出生年月日”计算年龄的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
使用日期差函数datediff计算出”出生日期和当前日期”的月份差,然后和12整除,得到的数为年数,
然后再将”出生日期和当前日期”的月份差,然后和12求余数,得出当前的月份数,返回出当前年龄的 年份和月份数

例:

    ---例1:根据指定出生日期计算年龄
     declare @maomao    datetime
     set       @maomao ='2001-8-8'
    
      ---计算年岁的方法
     select datediff(month,@maomao,getdate())/12 as [岁],
             , datediff(month,@maomao,getdate())%12 as [个月], 
    go

    ---例2:计算整张表的年龄
        select datediff(month,[出生日期列],getdate())/12 as [岁],
             , datediff(month,[出生日期列],getdate())%12 as [个月] 
          from [数据表]
    go