查詢一段時期內
在開發應收賬款管理系統時,需要編寫「到賬率考核」模組,一般財務上都是取月底的資料作為考核資料,所以涉及到用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 ...