SQL Server幾個常用Date函數(二)

來源:互聯網
上載者:User

在上一節SQL Server幾個常用Date函數(一)中我們介紹了下表中前兩個date函數,本節繼續學習下面三個函數。

函數

描述

GETDATE()

返回當前日期和時間

CONVERT()

用不同的格式顯示日期/時間

DATEDIFF()

返回兩個日期之間的時間

DATEPART()

返回日期/時間的單獨部分

DATEADD()

在日期中添加或減去指定的時間間隔

3.DATEDIFF (datepart, startdate, enddate) 函數
  • 該函數用來計算兩個日期之間的天(年、月…)數,enddate 減去 startdate,如果 startdate 晚於 enddate,則返回負值。其中,startdate表示起始時間;enddate表示結束時間;datepart表示時間間隔的計算單位,如年、月、日等。datepart 參數幾種常用的值如下表所示:
  • Datepart表:

Depart

含義

yy, yyyy

qq, q

季度

mm, m

dy, y

一年中第幾天

dd, d

wk, ww

一年中第幾周

dw, w

一周中第幾天,從周日開始算

hh

小時

mi, n

分鐘

ss, s

ms

毫秒

mcs

微妙

ns

納秒

  • 執行個體:尋找最近一周內註冊的使用者

          SELECT * FROM UserInfo

          where DATEDIFF (DAY ,regtime,GETDATE ()) BETWEEN 0 AND 7

         

4. SQL Server DATEPART(datepart,date) 函數
  • 該 函數用於返回日期/時間的單獨部分,比如年、月、日、小時、分鐘等等。其中date 參數是合法的日期運算式;datepart 參數見上表。
  • 執行個體:查看cathy註冊的年、月、日

            SELECT DATEPART (YYYY ,regtime )as year,DATEPART (MM ,regtime ) as month,DATEPART (DD,regtime ) as date
            FROM UserInfo
            WHERE sUserName ='CATHY'

           

5. SQL Server DATEADD(datepart,number,date) 函數
  • 該 函數可以計算添加或減去相應時間間隔的時間。其中date 參數是合法的日期運算式。number 是您希望添加的間隔數,如果您指定一個帶小數的值,則將小數截去且不進行舍入,對於未來的時間,此數是正數,對於過去的時間,此數是負數。datePart參數見DateDiff中的列表。
  • 執行個體:

          DECLARE @A DATE

          SET @A = GETDATE()

          SELECT DATEADD(DAY,3,@A)

          SELECT DATEADD(DAY,9,@A)

        

6.關於季度查詢的執行個體:

 

declare @date  datetime
set @date=getdate()
--季度初,計算給定日期所在季度的第一天
select dateadd(quarter,datediff(quarter,0,@date),0) as '當前季度的第一天'
--季度末,計算給定日期所在季度的最後一天
select dateadd(quarter,1+datediff(quarter,0,@date),-1) as '當前季度的最後一天'
--上個季度初
select dateadd(quarter,datediff(quarter,0,@date)-1,0) as '當前季度的上個季度初'
--上個季度末
select dateadd(quarter,datediff(quarter,0,@date),-1) as '當前季度的上個季度末'
--下個季度初
select dateadd(quarter,1+datediff(quarter,0,@date),0) as '當前季度的下個季度初'
--下個季度末
select dateadd(quarter,2+datediff(quarter,0,@date),-1) as '當前季度的下個季度末'

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.