zoukankan      html  css  js  c++  java
  • sql中常见日期获取

    获取当前年月日

    select MONTH(GETDATE())     6               --获取当前月份
    select MONTH(DATEADD(MONTH,1,GETDATE())) --获取当前月份的下个月
    select MONTH(DATEADD(MONTH,-1,GETDATE())) --获取当前月份的上个月 

    year()获取年

    select year(GETDATE()) 

    day()获取日

    select day(GETDATE())

    用DateName()获取年月日

    复制代码
    select GETDATE() as '当前日期'
    select DateName(year,GetDate()) as '年'
    select DateName(month,GetDate()) as '月'
    select DateName(day,GetDate()) as '日'
    select DateName(dw,GetDate()) as '星期'
    select DateName(week,GetDate()) as '周数'
    select DateName(hour,GetDate()) as '时'
    select DateName(minute,GetDate()) as '分'
    select DateName(second,GetDate()) as '秒'
    复制代码

    DatePart()获取年月日

    当前日期2014-06-19

    select DatePart(YY,GETDATE())  2014
    select DatePart(mm,GETDATE())  6 
    select DatePart(dd,GETDATE())  19

    获取各种日期的方法

    --1、本月第一天 

    SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)  
    select convert(datetime,convert(varchar(8),getdate(),120)+'01',120) 


    --2.显示本月最后一天 

    select dateadd(day,-1,convert(datetime,convert(varchar(8),dateadd(month,1,getdate()),120)+'01',120)) 
    SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))  


    --

    --3.上个月的最后一天  

    SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0)) 

    --4.本月的第一个星期一 

    select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(day,getdate()),getdate())),0)

    --5.本年的第一天  

    SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0) 

    --6.本年的最后一天  

    SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))

    --7.去年的最后一天  

    SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))

    --8.本季度的第一天  

    SELECT DATEADD(qq,DATEDIFF(qq,0,getdate()),0)  

    --9.本周的星期一  

    SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0) 

    --10.查询本月的记录  

    条件可写为: 

    DATEPART(mm, theDate) = DATEPART(mm, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

    --11.查询本周的记录  

    DATEPART(wk, theDate) = DATEPART(wk, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

    --12.查询本季的记录  

    DATEPART(qq, theDate) = DATEPART(qq, GETDATE()) and DATEPART(yy, theDate) = DATEPART(yy, GETDATE()) 

    --13.获取当月总天数: 

    select DATEDIFF(dd,getdate(),DATEADD(mm, 1, getdate()))
    
    select datediff(day,dateadd(mm, datediff(mm,'',getdate()), ''), 
    dateadd(mm, datediff(mm,'',getdate()), '1900-02-01'))

    --14.获取当前为星期几 

    select DATENAME(weekday, getdate())

    --15. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 

    例如:向日期加上2天  

    select dateadd(day,2,'2014-10-15') --返回:2014-10-17 00:00:00.000

    --16. datediff 返回跨两个指定日期的日期和时间边界数。 

    select datediff(day,'2004-09-01','2004-09-18') --返回:17

    --17. datepart 返回代表指定日期的指定日期部分的整数。 

    SELECT DATEPART(month, '2004-10-15') --返回 10 

    年为year,月为month,日为day,小时hour,分为minute,秒为second

    --18. datename 返回代表指定日期的指定日期部分的字符串 

    SELECT datename(weekday, '2004-10-15') --返回:星期五

    --19. day(), month(),year() --可以与datepart对照一下 

    select 当前日期=convert(varchar(10),getdate(),120),当前时间=convert(varchar(8),getdate(),114)  
    select datename(dw,'2004-10-15')  
    select 本年第多少周=datename(week,'2004-10-15'),今天是周几=datename(weekday,'2004-10-15')

    函数 参数/功能 

    GetDate( ) --返回系统目前的日期与时间 
    DateDiff (interval,date1,date2) --以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 
    DateAdd (interval,number,date) --以interval指定的方式,加上number之后的日期 
    DatePart (interval,date) --返回日期date中,interval指定部分所对应的整数值 
    DateName (interval,date)-- 返回日期date中,interval指定部分所对应的字符串名称

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。

    如果,您希望更容易地发现我的新博客,不妨点击一下,【关注我

    如果,您希望给我更多的鼓励,不妨在右侧点击,【打赏一下

    博文是自己对学习成果的总结,学习总结知识-》分析问题-》解决问题。

    文中存在的观点/描述不正确的地方,欢迎指正。

    感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是yxtic 。

  • 相关阅读:
    H3C BGP配置7大规模BGP网络典型配置举例1BGP团体配置
    H3C BGP配置5MBGP配置
    ISIS原理介绍1
    BGP原理介绍3
    H3C OSPF配置9快速重路由配置举例
    H3C无线配置4无线控制器静态VLANgroup实现AC间漫游典型配置举例
    BGP原理介绍1
    H3C OSPF配置10常见配置错误举例
    H3C OSPF配置3DR选择配置举例
    H3C无线配置1license管理
  • 原文地址:https://www.cnblogs.com/shitaotao/p/7648200.html
Copyright © 2011-2022 走看看