當前位置:首頁 » 編程語言 » sql本周

sql本周

發布時間: 2022-12-24 22:12:13

㈠ 使用sql語句查詢日期的方法

使用sql語句查詢日期的方法

結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。以下是我為大家整理的使用sql語句查詢日期的方法,僅供參考,希望能夠幫助大家。

使用sql語句查詢日期的方法 篇1

使用sql語句查詢日期

select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查詢當天日期在一周年的數據

--查詢當天:

select * from info where DateDiff(dd,datetime,getdate())=0

--查詢24小時內的:

select * from info where DateDiff(hh,datetime,getDate())<=24

--info為表名,datetime為資料庫中的欄位值

--查詢當天:

select * from info where DateDiff(dd,datetime,getdate())=0

--查詢24小時內的:

select * from info where DateDiff(hh,datetime,getDate())<=24 --info為表名,datetime為資料庫中的欄位值

Sql代碼

--查詢當天記錄另類的方法

SELECT *

FROM j_GradeShop

WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')

AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1) ORDER BY GAddTime DESC

--查詢當天記錄另類的方法

SELECT *

FROM j_GradeShop

WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')

AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1) ORDER BY GAddTime DESC

DATEDIFF 函數:

語法:

DATEDIFF ( datepart , startdate , enddate )

備注:enddate 減去 startdate。如果 startdate 晚於 enddate,則返回負值。 如果結果超出整數值范圍,則 DATEDIFF 將產生錯誤。對於毫秒,最大數是 24 天 20 小時 31 分鍾零 23.647 秒。對於秒,最大數是 68 年。

跨分鍾、秒和毫秒等邊界計算的方法使得 DATEDIFF 指定的結果在所有數據類型中均一致。結果是帶正負號的整數值,它等於跨第一個和第二個日期間的

datepart 邊界數。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之間的'星期數是 1。

可以再MSSQL中測試:

Sql代碼

--兩個時間差剛好是24

--列印的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

--查詢的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

--兩個時間差剛好是24

--列印的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

--查詢的方式

print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

Sql代碼

--本月記錄

SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0

--本周記錄

SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

--包括本年這些查詢方式是一樣的

--本月記錄

SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0

--本周記錄

SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

--包括本年這些查詢方式是一樣的

sql server中的時間函數

1. 當前系統日期、時間

select getdate()

2. dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如:向日期加上2天

select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000

3. datediff 返回跨兩個指定日期的日期和時間邊界數。

select datediff(day,'2004-09-01','2004-09-18') --返回:17

4. datepart 返回代表指定日期的指定日期部分的整數。

SELECT DATEPART(month, '2004-10-15') --返回 10

5. datename 返回代表指定日期的指定日期部分的字元串

SELECT datename(weekday, '2004-10-15') --返回:星期五

6. day(), month(),year() --可以與datepart對照一下

select 當前日期=convert(var10),getdate(),120)

,當前時間=convert(var8),getdate(),114)

select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15')

,今天是周幾=datename(weekday,'2004-10-15')

函數 參數/功能

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 Yy yyyy 年 1753 ~ 9999

Quarter Qq q 季 1 ~ 4

Month Mm m 月1 ~ 12

Day of year Dy y 一年的日數,一年中的第幾日 1-366

Day Dd d 日,1-31

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

Week Wk ww 周,一年中的第幾周 0 ~ 51

Hour Hh h 時0 ~ 23

Minute Mi n 分鍾0 ~ 59

Second Ss s 秒 0 ~ 59

Millisecond Ms - 毫秒 0 ~ 999

access 和 asp 中用date()和now()取得系統日期時間;其中

DateDiff,DateAdd,DatePart也同是能用於Access和asp中,這些函數的用法也類似

舉例:

1.GetDate() 用於sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值為 514592 秒 DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值為 5 天

3.DatePart('w','2005-7-25 22:56:32')返回值為 2 即星期一(周日為1,周六為7)

DatePart('d','2005-7-25 22:56:32')返回值為 25即25號

DatePart('y','2005-7-25 22:56:32')返回值為 206即這一年中第206天 DatePart('yyyy','2005-7-25 22:56:32')返回值為 2005即2005年

使用sql語句查詢日期的方法 篇2

datediff(week,zy_time,getdate())=0 //查詢本周 datediff(month,zy_time,getdate())=0 //查詢本月

本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0

前半年1-6,後半年7-12:select * from table where datepart(mm,C_CALLTIME)/7 = datepart(mm,getdate())/7 1. 當前系統日期、時間 select getdate()

2. dateadd 在向指定日期加上一段時間的基礎上,返回新的 datetime 值 例如:向日期加上2天

select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨兩個指定日期的日期和時間邊界數。

select datediff(day,'2004-09-01','2004-09-18') --返回:17 4. datepart 返回代表指定日期的指定日期部分的整數。 SELECT DATEPART(month, '2004-10-15') --返回 10 5. datename 返回代表指定日期的指定日期部分的字元串 SELECT datename(weekday, '2004-10-15') --返回:星期五 6. day(), month(),year() --可以與datepart對照一下 select 當前日期=convert(var10),getdate(),120) ,當前時間=convert(var8),getdate(),114) select datename(dw,'2004-10-15')

select 本年第多少周=datename(week,'2004-10-15') ,今天是周幾=datename(weekday,'2004-10-15') 函數 GetDate( )

參數/功能

返回系統目前的日期與時間

以interval 指定的方式,返回

DateDiff

date2 與date1兩個日期之間的

(interval,date1,date2)

差值 date2-date1 DateAdd 以interval指定的方式,加上(interval,number,date) number之後的日期

返回日期date中,interval指定

DatePart (interval,date)

部分所對應的整數值 返回日期date中,interval指定

DateName (interval,date)

部分所對應的字元串名稱

參數 interval的設定值如下:

Access 和

縮 寫(Sql Server)

ASP Yy Qq Mm

yyyy q m y d w ww h n s -

值 Year Quarter Month

說明

年 1753 ~ 9999 季 1 ~ 4 月1 ~ 12

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

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

周,一年中的第幾周 0 ~ 51 時0 ~ 23 分鍾0 ~ 59 秒 0 ~ 59 毫秒 0 ~ 999

Day of year Dy Day Weekday Week Hour Minute Second

Dd Dw Wk Hh Mi Ss

Millisecond Ms

access 和 asp 中用date()和now()取得系統日期時間;其中DateDiff,DateAdd,DatePart也同是能用於Access和asp中,這些函數的用法也類似

舉例:

1.GetDate() 用於sql server :select GetDate()

2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值為 514592 秒 DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值為 5 天

3.DatePart('w','2005-7-25 22:56:32')返回值為 2 即星期一(周日為1,周六為7) DatePart('d','2005-7-25 22:56:32')返回值為 25即25號

DatePart('y','2005-7-25 22:56:32')返回值為 206即這一年中第206天 DatePart('yyyy','2005-7-25 22:56:32')返回值為 2005即2005年 sql 查詢本周本月問題 ---求相差天數

select datediff(day,'2004-01-01',getdate())

--1.一個月第一天的

SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

--2.本周的星期一

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

select dateadd(wk,datediff(wk,0,getdate()),6) --3.一年的第一天

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

--4.季度的第一天

SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

--5.當天的半夜

SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

--6.上個月的最後一天

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

--7.去年的最後一天

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

--8.本月的最後一天

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

--9.本年的最後一天

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

--10.本月的第一個星期一 select DATEADD(wk,

DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) --查詢本周注冊人數

select count(*) from [user]

where datediff(week,create_day-1,getdate())=0

--上周注冊人數

select count(*) from [user]

where datediff(week,create_day-1,getdate())=1

--本月注冊人數

select count(*) from [user]

where datediff(month,create_day,getdate())=0

--上月注冊人數

select count(*) from [user]

where datediff(month,create_day,getdate())=1

--如果要效率,這樣寫查詢

--查詢本周注冊人數

where

create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and

create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112))

--上周注冊人數

select count(*) from [user] where

create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and

create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112))

--本月注冊人數

select count(*) from [user]

where create_day>=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)) and

create_day<dateadd(month,1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))

--上月注冊人數

select count(*) from [user] where

create_day>=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112)))

and create_day<dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))

--本周

select count(*) from User

where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())

--上周

select count(*) from User

where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7

--本月

select count(*) from User

where datepart(mm,create_day) = datepart(mm,getdate()) --上月

where datepart(mm,create_day) = datepart(mm,getdate()) - 1 --本周

select count(*) from [User]

where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())

--上周

select count(*) from [User]

where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 7

--本月

select count(*) from [User]

where datepart(mm,create_day) = datepart(mm,getdate()) --上月

select count(*) from [User]

where datepart(mm,create_day) = datepart(mm,getdate()) - 1 學習

month(create_day)=month(getdate())本月 month(create_day)=month(getdate())-1 上月

補充 查詢今日所有的

SELECT * from feedback WHERE (DATEDIFF(d,fedtime,GETDATE())=0) ORDER BY fedid DESC

;

㈡ SQL 2005 查詢本周/本月/本季度/本年的數據

本周數據:select * from Keywords where datediff(week, Addtime,getdate())=0
本月:select * from Keywords where datediff(month, Addtime,getdate())=0
本季度:select * from Keywords where datediff(quarter, Addtime,getdate())=0
本年:select * from Keywords where datediff(year, Addtime,getdate())=0

㈢ 請問用sql,怎麼在一條語句內查詢上周庫存、本周庫存和總庫存

SELECT

COALESCE ( SUM( CASE WHEN 日期 = 上周日期函數 THEN 單個庫存 ELSE 0 END ), 0 ) AS 上周總庫存,
COALESCE ( SUM( CASE WHEN 日期 = 本周日期函數 THEN 單個庫存 ELSE 0 END ), 0 ) AS 本周總庫存,
SUM(單個庫存) AS 總庫存
FROM
庫存表

用case then 大概就這意思,具體的參數自己修改修改就行了。

㈣ SQL 查詢今天、昨天、7天內、30天的數據

主要用到sql 函數 

DATEDIFF( datepart , startdate , enddate )

startdate=日期欄位名稱

--查詢 今日

select * from tableA where DateDiff(dd,datetime類型欄位,getdate())= 0

--查詢 昨日

select * from tableA where DateDiff(dd,times,getdate())= 1

--查詢 本周

select * from tableA where DateDiff(dd,VoucherDate,getdate())<=7

--查詢 上周

select * from tableA where DateDiff(dd,VoucherDate,getdate())>7 and DateDiff(dd,VoucherDate,getdate())<=14

--查詢 本月

select * from tableA where DateDiff(mm,VoucherDate,getdate())= 0

--查詢 上月

select * from tableA where DateDiff(mm,VoucherDate,getdate())= 1

--查詢 本年

select * from tableA where DateDiff(yy,VoucherDate,getdate())= 0

--查詢 上一年

select * from tableA where DateDiff(yy,VoucherDate,getdate())= 1

㈤ sql查詢本周內數據,周一至周天,表:tb_drsheet 時間欄位:datEdt

SELECT*fromtb_drsheetwheredatediff(week,datEdt-1,getdate())=0

試試這個 oracle 的話修改相應的函數

㈥ sql server 獲取年季度數,年周數,年天數,本周天數

SELECT

DATEPART(YEAR, GETDATE()) AS 年,

DATEPART(MONTH, GETDATE()) AS 月,

DATEPART(DAY, GETDATE()) AS 日,

DATEPART(HOUR, GETDATE()) AS 時,

DATEPART(MINUTE, GETDATE()) AS 分,

DATEPART(SECOND, GETDATE()) AS 秒,

DATEPART(MILLISECOND, GETDATE()) AS 毫秒,

DATEPART(QUARTER, GETDATE()) AS 季度,

DATEPART(DAYOFYEAR, GETDATE()) AS 年天數,

DATEPART(WEEK, GETDATE()) AS 年周數,

DATEPART(WEEKDAY, GETDATE()) AS 本周天數,

DATENAME(YEAR, GETDATE()) AS 年,

DATENAME(MONTH, GETDATE()) AS 月,

DATENAME(DAY, GETDATE()) AS 日,

DATENAME(HOUR, GETDATE()) AS 時,

DATENAME(MINUTE, GETDATE()) AS 分,

DATENAME(SECOND, GETDATE()) AS 秒,

DATENAME(MILLISECOND, GETDATE()) AS 毫秒,

DATENAME(QUARTER, GETDATE()) AS 季度,

DATENAME(DAYOFYEAR, GETDATE()) AS 年天數,

DATENAME(WEEK, GETDATE()) AS 年周數,

DATENAME(WEEKDAY, GETDATE()) AS 本周數

㈦ MSQL如何獲取本周周一到周五的時間段

中文版sql Server中:

Select '本周一',DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
Select '下周一',DATEADD(wk, DATEDIFF(wk,0,getdate())+1, 0)
Select '本周最末',dateadd(ms,-3,DATEADD(wk, DATEDIFF(wk,0,getdate())+1, 0))
Select '本周五',DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
Select '本周五末',dateadd(day,-2,dateadd(ms,-3,DATEADD(wk, DATEDIFF(wk,0,getdate())+1, 0)))

㈧ 怎麼用sql查詢昨天,今天,明天和本周的記錄

sql查詢昨天,今天,明天和本周記錄的方法

一、昨天,今天,明天和本周在SQL的處理中都是一個時間段,比如昨天指的就是昨天的:0點0分0秒到23點59分59秒。

二、例如表格:ygsrb

㈨ 在sql server 2008中如何查詢本日、本周和本月數據

--本日
select*fromtablewherecolbetweencast((convert(varchar(10),getdate(),120)asdatetime)andcast((convert(varchar(10),getdate(),120)+'23:59:59.997'asdatetime)

SELECT*FROMtableWHEREdatediff(day,col,getdate())=0

--本周
SELECT*FROMtableWHEREdatediff(week,col,getdate())=0

--本月
select*fromtablewherecolbetweencast((convert(varchar(7),getdate(),120)+'-1'asdatetime)andcast((convert(varchar(7),dateadd(m,1,,getdate()),120)+'-1'asdatetime)

㈩ SQL Server 怎麼獲得本周內: 周六為第一天 周五為第最後一天

select datepart(w,getdate()+1) --星期六返回1,星期五返回7。
select convert(varchar(10),getdate()-datepart(w,getdate()+1)+1,120) --獲取本周第一天,2013-4-20星期六,返回2013-04-20,是第一天。

select convert(varchar(10),getdate()-datepart(w,getdate()+1)+8,120) --獲取本周最後一天,2013-4-20星期六,返回2013-04-27,是第一天。

熱點內容
我配置很高了ae為什麼卡 發布:2025-05-17 14:54:50 瀏覽:167
python數據分析實戰pdf 發布:2025-05-17 14:49:42 瀏覽:950
海瀾之家廣告腳本 發布:2025-05-17 13:56:06 瀏覽:30
手文件夾恢復 發布:2025-05-17 13:53:32 瀏覽:993
linux怎麼看進程 發布:2025-05-17 13:53:30 瀏覽:303
thinkphp欄位緩存 發布:2025-05-17 13:52:01 瀏覽:575
山靈app安卓版如何設置 發布:2025-05-17 13:51:49 瀏覽:388
帆布壓縮袋 發布:2025-05-17 13:26:27 瀏覽:457
c語言16進製表示方法 發布:2025-05-17 13:11:25 瀏覽:480
ftp單位 發布:2025-05-17 13:10:03 瀏覽:142