zoukankan      html  css  js  c++  java
  • Sql Server日期相关

    1.一个月第一天的
    SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

    2.本周的星期一
    SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

    3.一年的第一天
    SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

    4.季度的第一天
    SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

    5.当天的半夜
    SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

    6.上个月的最后一天
    SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

    7.去年的最后一天
    SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

    8.本月的最后一天
    SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

    9.本年的最后一天
    SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

    10.本月的第一个星期一
    select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

     

    11)去掉时分秒 
    declare  @  datetime 
    set  @  =  getdate()  --'2003-7-1  10:00:00' 
    SELECT  @,DATEADD(day,  DATEDIFF(day,0,@),  0) 
     
    12
    )显示星期几
     
    select  datename(weekday,getdate())   
     
    13
    )如何取得某个月的天数
     
    declare  @m  int 
    set  @m=2  --
    月份
     
    select    datediff(day,'2003-'+cast(@m  as  varchar)+'-15'  ,'2003-'+cast(@m+1    as  varchar)+'-15') 
    另外,取得本月天数
     
    select    datediff(day,cast(month(GetDate())  as  varchar)+'-'+cast(month(GetDate())  as  varchar)+'-15'  ,cast(month(GetDate())  as  varchar)+'-'+cast(month(GetDate())+1    as  varchar)+'-15') 
    或者使用计算本月的最后一天的脚本,然后用DAY函数区最后一天
     
    SELECT  Day(dateadd(ms,-3,DATEADD(mm,  DATEDIFF(m,0,getdate())+1,  0))) 
     
    14
    )判断是否闰年:
     
    SELECT  case  day(dateadd(mm,  2,  dateadd(ms,-3,DATEADD(yy,  DATEDIFF(yy,0,getdate()),  0))))  when  28  then  '
    平年'  else  '闰年
    '  end 
    或者
     
    select  case  datediff(day,datename(year,getdate())+'-02-01',dateadd(mm,1,datename(year,getdate())+'-02-01')) 
    when  28  then  '
    平年'  else  '闰年
    '  end 
     
    15
    )一个季度多少天
     
    declare  @m  tinyint,@time  smalldatetime 
    select  @m=month(getdate()) 
    select  @m=case  when  @m  between  1  and  3  then  1 
                           when  @m  between  4  and  6  then  4 
                           when  @m  between  7  and  9  then  7 
                           else  10  end 
    select  @time=datename(year,getdate())+'-'+convert(varchar(10),@m)+'-01' 
    select  datediff(day,@time,dateadd(mm,3,@time)) 

  • 相关阅读:
    C# WPF全局捕获异常 防止程序崩溃闪退
    mysql数据库动态创建分区
    mysql增加修改主键_mysql怎么修改添加主键
    C#中@的用法总结(转)
    python OpenCV使用
    turtle --- 海龟绘图¶
    Python 常用趣味模块
    Eclipse中Ant的使用
    Eclipse中Ant的使用
    Thinking in java(五)
  • 原文地址:https://www.cnblogs.com/songrun/p/1436937.html
Copyright © 2011-2022 走看看