日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL 日期函数的使用方法

發(fā)布時間:2023/12/9 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL 日期函数的使用方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.getdate()

getdate()是常用的獲取日期的函數(shù)。在使用中要特別注意:由于系統(tǒng)或者電腦日期格式設(shè)置等問題,getdate()函數(shù)返回日期格式并不相同。為了統(tǒng)一日期格式可以使用convert函數(shù)對返回值進行格式轉(zhuǎn)換。常用格式百度有很多,自己經(jīng)常使用格式如下: [sql]?view plain?copy
  • select?convert(varchar(100),getdate(),24)--15:51:28??
  • select?convert(varchar(100),getdate(),23)--2017-02-25??
  • select?convert(varchar(100),getdate(),120)--2017-02-25?15:50:32??
  • 2.datepart()和datename()區(qū)別和使方法

    1.區(qū)別

    datepart()和datename()區(qū)別是:前者返回指定日期部分的整數(shù),而后者返回指定日期格式的字符串
    2.使用方法 兩者使用方法基本一樣。語法分別是DATENAME ( datepart , date ) 和DATEPART (datepart , date ) 。datepart參數(shù)如下:

    datepart

    縮寫

    yy, yyyy

    季度

    qq, q

    mm, m

    年中的日

    dy, y

    dd, d

    wk, ww

    星期

    dw, w

    小時

    hh

    分鐘

    mi, n

    ss, s

    毫秒

    ms

    微妙

    mcs

    納秒

    ns


    注意:對于更小的時間單位存在溢出值:

    milliseconds ? ?24 天

    seconds ? ?68 年

    minutes ? ?4083 年

    others ? ?沒有溢出限制
    下面是使用datepart獲取的日期部分,使用datename獲取的值相同,只不過類型是字符串。(getdate()='2017-02-25') select datepart(qq,getdate())--返回值是1 第一季度
    select datepart(wk,'2017-02-26')-- 本年度第9周
    select datepart(w,'2017-02-26')-- 1返回值1 這里明顯是周日 但是返回值是1.因為系統(tǒng)默認周日是每周的第一天
    如果想獲取日期的年月日,除了這兩個函數(shù)也可以直接使用year(),moutn(),day函數(shù)。[sql]?view plain?copy
  • select?day(getdate());--返回當前日期的天??
  • select?month(getdate())--返回當前日期的月份??
  • select?year(getdate());--返回當前日期的年份??
  • 3.日期加減DATEADD()和DATEDIFF()函數(shù)

    [sql]?view plain?copy
  • select?DATEADD(wk,2,getdate());--為當前日期加上2周??
  • select?DATEDIFF(d,'2017-02-25','2017-02-18');--?-7返回兩個指定的時間之間(包括第二個日期但不包括第一個日期)的午夜數(shù)。??
  • ??
  • select?DATEDIFF(wk,'2017-02-06','2017-02-11');--0--返回兩個日期(包括第二個日期但不包括第一個日期)之間星期日的數(shù)目。??
  • select?DATEDIFF(wk,'2017-02-10','2017-02-12');--1??
  • ??
  • select?DATEDIFF(m,'2017-02-10','2017-02-17')--0--返回兩個日期之間(包括第二個日期但不包括第一個日期)出現(xiàn)的月的第一天的數(shù)目。??
  • select?DATEDIFF(m,'2017-02-10','2017-02-26')--0??
  • 4.綜合?

    1.獲取一年的第一天和最后一天

    [sql]?view plain?copy
  • select?datename(yy,getdate())+'-01-01'--2017-01-01??使用datepart返回整數(shù),不做類型轉(zhuǎn)換會報錯??
  • select?datename(yy,getdate())+'-12-31'--2017-12-31?使用datepart返回整數(shù),不做類型轉(zhuǎn)換會報錯??
  • 2.獲取本季度的第一天和最后一天獲取季度第一天[sql]?view plain?copy
  • select?CONVERT(char(8),??
  • ????????DATEADD(Month,??
  • ????????????DATEPART(Quarter,getdate())*3-Month(getdate())-2,??
  • ????????????getdate()),??
  • ????????120)+'01'--2017-01-01?系統(tǒng)里年月日格式統(tǒng)一為yyyy-mm-dd??
  • select?convert(varchar(5),getdate(),23)+?(case??when?(datepart(q,getdate())*3-2)<10?then?'0'+cast((datepart(q,getdate())*3-2)as?char(1))?else?cast((datepart(q,getdate())*3-2)as?char(2))?end?)+'-01'--返回值2017-01-01主要想得到mm-dd的日期格式?感覺有點繁瑣的??

  • 獲取季度最后一天[sql]?view plain?copy
  • SELECT?CONVERT(datetime,??
  • ????CONVERT(char(8),??
  • ????????DATEADD(Month,??
  • ????????????DATEPART(Quarter,getdate())*3-Month(getdate()),??
  • ????????????getdate()),??
  • ????????120)??
  • ????+CASE?WHEN?DATEPART(Quarter,getdate())?in(1,4)??
  • ????????THEN'31'ELSE'30'END)??
  • 上邊函數(shù)復(fù)制下面博客的。

    總結(jié)

    以上是生活随笔為你收集整理的SQL 日期函数的使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。