『壹』 在sql sever中怎麼查詢一周內每天中某個時間段內的數據
selectcount(scan_time)
froma
wherescan_timebetween'2017-08-01'and'2017-08-0712:00'
and((datepart(hour,scan_time)=1anddatepart(MINUTE,scan_time)>=15)
or(datepart(hour,scan_time)>=2anddatepart(hour,scan_time)<=12))
『貳』 sql怎麼取出某一周的七天數據
setlanguageN'SimplifiedChinese'
selectdatename(weekday,數據添加日期列名)asdayOnweek,*from表名
wheredatediff(week,數據添加日期列名,'2014-11-1')=0
『叄』 sql查詢本周內數據,周一至周天,表:tb_drsheet 時間欄位:datEdt
SELECT*fromtb_drsheetwheredatediff(week,datEdt-1,getdate())=0
試試這個 oracle 的話修改相應的函數
『肆』 sql查詢本周內數據 。如圖
--本周的星期一
SELECTDATEADD(wk,DATEDIFF(wk,0,getdate()),0)
你只要在where條件里用RDT>=DATEADD(wk,DATEDIFF(wk,0,getdate()),0)就可以了
『伍』 sql查詢某值只保留幾個月的數據
如果數據行中有一個保存日期/時間的數據my_date 下面是查詢一周內的數據: SELECT * FROM table_name WHERE (DATE_SUB(CURDATE() - INTERVAL 7 DAY) <= my_date); 其他的類似 三個月 INTERVAL 3 MONTH ...... 半年 INTERVAL 6 MONTH.
SQL是高級的非過程化編輯語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統可以使用相同的sql語言作為數據輸入與管理的介面。
『陸』 sql server 怎麼查看最近一周的數據
如果資料庫是SQL Server,可以這樣做: 找到輸入日期的所在的周一,然後將數據范圍限制在這個周一到下個周一之間(包括此周一,不包括下個周一)。所以,關鍵就在計算周一是哪一天(SQL Server中一周第幾天受@@datefirst影響,默認值為7,即周日為一周第一天,但是這里需要周一為一周開始)。
declare @dateValue datetime, @startDay datetime
set @dateValue = '2014-11-11' -- 賦需要查詢的日期值,不包含時分秒
set @startDay = dateadd(d, CASE WHEN datepart(dw, @dateValue) + @@DATEFIRST > 8 THEN 8 - @@datefirst ELSE 1 - @@datefirst END, dateadd(d, - datepart(dw, @dateValue) + 1, @dateValue))
select *
from data_table
where date_field >= @startDay and date_field < dateadd(d, 7, @startDay) --將數據限制在從周一開始的7天內
order by date_field -- 按日期升序排列
如果是其他資料庫,則可以使用類似方法實現。
『柒』 怎麼用sql查詢昨天,今天,明天和本周的記錄
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。
『捌』 MYSQL查詢一周內的數據(最近7天的)怎麼寫
select * from wap_content where week(created_at) = week(now)
如果要嚴格要求是某一年的,那可以這樣
查詢一天:
select * from table where to_days(column_time) = to_days(now());
select * from table where date(column_time) = curdate();
查詢一周:
select * from table where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(column_time);
查詢一個月:
select * from table where DATE_SUB(CURDATE(), INTERVAL INTERVAL 1 MONTH) <=
date(column_time);
查詢一年:
select * from table where DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date(column_time);
(8)sql查詢一周內數據擴展閱讀
mysql查詢最近7天的數據:
1,(以當天為起點)
SELECT * FROM tb_equity e where DATE_SUB(CURDATE(), INTERVAL 6 DAY) <=
date(createdate)
2,(以資料庫最新的時間最為最近的一天)
SELECT * FROM tb_equity e where createdate > DATE_ADD((select createdate from tb_equity
ORDER BY createdate DESC limit 1) ,INTERVAL -7 day)
and (select createdate from tb_equity ORDER BY createdate DESC limit 1) >= createdate
3,sql查詢表中的重復數據
select * from 表名 where 欄位名 in (select 欄位名 from 表名 group by 欄位名 HAVING COUNT(*)
> 1) order by 表名
『玖』 怎樣從資料庫中查詢一周內的信息
使用sql語句查詢日期在一周內的數據
select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查詢當天日期在一周年的數據
select * from ShopOrder where datediff(day,ordTime,getdate()-1)=0 //查詢當天的所有數據
SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天
SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 // 上一月
--查詢當天:
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(varchar(10),getdate(),120)
,當前時間=convert(varchar(8),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 語句怎麼查詢一周的數據
select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查詢當天日期在一周年的數據
select * from ShopOrder where datediff(day,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為資料庫中的欄位值