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)) 

  • 相关阅读:
    MYSQL删除表的记录后如何使ID从1开始
    Python chardet 字符编码判断
    中文搜索引擎技术揭密
    python 处理中文网页时,忽略特殊字符,忽略异常
    cmd 之基础命令
    自己写的删除主键的存储过程
    朝花夕拾delphi的三层结构
    ERWIN中的一对多标识关系和一对多非标识关系
    翻页用的SQL
    关于 Ajax 的一篇通俗易懂的文章
  • 原文地址:https://www.cnblogs.com/songrun/p/1436937.html
Copyright © 2011-2022 走看看