SQL Server 獲取指定日期

2021-09-24 12:09:43 字數 1674 閱讀 1500

查詢一段時期內

在開發應收賬款管理系統時,需要編寫「到賬率考核」模組,一般財務上都是取月底的資料作為考核資料,所以涉及到用sql獲取年末、月末等日期,就在網上收集了一些內容,做乙個記錄

函式引數/功能

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指定部分所對應的字串名稱

引數 interval的設定值如下:

縮 寫(sql server)

access 和 asp

說明year

yyyyyy

年 1753 ~ 9999

quarterqqq

季 1 ~ 4

monthmmm

月1 ~ 12

day of yeardyy

一年的日數,一年中的第幾日 1-366

daydd

d日,1-31

weekdaydww

一周的日數,一周中的第幾日 1-7

week

wkww

周,一年中的第幾周 0 ~ 51

hourhhh

時0 ~ 23

minutemin

分鐘0 ~ 59

secondsss

秒 0 ~ 59

millisecondms-

毫秒 0 ~ 999

select dateadd(yy,datediff(yy,0,getdate()),0)

select dateadd(d,-1,dateadd(yy,datediff(yy,0,getdate())+1,0))

select dateadd(qq,datediff(qq,0,getdate()),0)

select dateadd(d,-1,dateadd(qq,datediff(qq,0,getdate())+1,0))

select dateadd(mm,datediff(mm,0,getdate()),0)

select dateadd(d,-1,dateadd(mm,datediff(mm,0,getdate())+1,0))

假設test資料表中的日期欄位名為:inputdate,要求查詢今年內的所有記錄

select * from test where datediff(yy,inputdate,getdate())=0

select * from text where datediff(yy,inputdate,dateadd(yy,-1,getdate()))=0

mysql 獲取指定日期到指定日期 區間段的日期

第一種方法 cross join 就相當於mysql中的迴圈 cross join 把兩張表中的資料進行 n m的組合,即笛卡爾積 這裡的兩張表利用 union all都有5條資料,所以進行 cross join 後 就有25條資料 而指定的日期區間就會從這25條資料總產生 select curda...

php獲取指定日期時間

本周一echo date y m d time date w 0 7 date w 1 24 3600 w為星期幾的數字形式,這裡0為週日 本週日echo date y m d time 7 date w 0 7 date w 24 3600 同樣使用w,以現在與週日相關天數算 上周二echo da...

sqlServer 獲取每月固定日期

比如獲取固定26日 1.獲取年 select convert varchar 5 year getdate 2.獲取月 select convert varchar 5 month getdate 3.26 數字寫死 不轉時間格式 字串 convert varchar 5 year getdate ...