查詢今天 昨天 本週 上週 本月 上月資料

2021-08-13 04:54:35 字數 2517 閱讀 5136

sql server中查詢今天、昨天、本週、上週、本月、上月資料

在做sql server開發的時候有時需要獲取表中今天、昨天、本週、上週、本月、上月等資料,這時候就需要使用datediff()函式及getdate()函式了。

datediff ( datepart , startdate , enddate )

釋義:計算時間差

datepare值:year | quarter | month | week | day | hour | minute | second | millisecond

startdate:開始日期

enddate :結束日期

getdate()

釋義:獲取當前的系統日期

下面例子中表名為tablename,條件欄位名為inputdate

查詢今天

select * from tablename where datediff(day,inputdate,getdate())=0

查詢昨天

select * from tablename where datediff(day,inputdate,getdate())=1

查詢本週

select * from tablename where datediff(week,inputdate,getdate())=0

查詢上週

select * from tablename where datediff(week,inputdate,getdate())=1

查詢本月

select * from tablename where datediff(month,inputdate,getdate())=0

查詢上月

select * from tablename where datediff(month,inputdate,getdate())=1

查詢本季度的

select * from t_interviewinfo where datediff(qq,inputdate,getdate())=0

----------------------------------------------

declare @dt datetime

set @dt=getdate()

declare @number int

set @number=3

--1.指定日期該年的第一天或最後一天

--第一天為1月1日、最後一天為12月31日都是固定的

--a. 年的第一天

select convert(char(5),@dt,120)+'1-1'

--b. 年的最後一天

select convert(char(5),@dt,120)+'12-31'

--2.指定日期所在季度的第一天或最後一天

--a. 季度的第一天

select convert(datetime,

convert(char(8),

dateadd(month,

datepart(quarter,@dt)*3-month(@dt)-2,

@dt),

120)+'1')

--b. 季度的最後一天(case判斷法)

select convert(datetime,

convert(char(8),

dateadd(month,

datepart(quarter,@dt)*3-month(@dt),

@dt),

120)

+case when datepart(quarter,@dt) in(1,4)

then '31'else '30' end)

--c. 季度的最後一天(直接推算法)

select dateadd(day,-1,

convert(char(8),

dateadd(month,

1+datepart(quarter,@dt)*3-month(@dt),

@dt),

120)+'1')

--3.指定日期所在月份的第一天或最後一天

--a. 月的第一天

select convert(datetime,convert(char(8),@dt,120)+'1')

--b. 月的最後一天

select dateadd(day,-1,convert(char(8),dateadd(month,1,@dt),120)+'1')

--4.指定日期所在周的任意一天

select dateadd(day,@number-datepart(weekday,@dt),@dt)

--5.指定日期所在周的任意星期幾

--a.  星期天做為一周的第1天

select dateadd(day,@number-(datepart(weekday,@dt)+@@datefirst-1)%7,@dt)

--b.  星期一做為一周的第1天

select dateadd(day,@number-(datepart(weekday,@dt)+@@datefirst-2)%7-1,@dt)

SQL查詢今天 昨天 本週 上週 本月 上月資料

mysql資料庫 查詢當天的所有資料 select from 表名 where datediff 字段,now 0 查詢昨天的所有資料 select from 表名 where datediff 字段,now 1 查詢未來第n天的所有資料 當n為負數時,表示過去第n天的資料 select from ...

求當天,昨天,本週,上週,本月,上月的函式

以前在一家大公司由於不能使用儲存過程,直接用 寫了求當天,昨天,本週,上週,本月,上月的函式。給大家參考。根據日期型別獲取相應的時間段 建立標識 yangys20080512 日期型別 開始日期 輸出引數 結束日期 輸出引數 void private void getdatetime int dat...

獲取時間(本週,上週,本月,上月)

首先此處使用的是moment.js 用法 一 node用法 npm install moment然後引入需要用的地方 官方給出如下 var moment require moment 我在react裡面引用如下 import moment from moment 原理一致,只是不同框架匯入方式不一樣...