sql時間查詢語句
select*,max(create_time)froma
wherecreate_time<="2017-03-2919:30:36"
groupbyuser_id
這句可以理解為將結果集根據user_id分組,每組取time最大一條記錄。這樣就很好的實現了批量查詢最近記錄,並且僅僅需要遍歷一次表,即使在數據量巨大的情況下也可以在很短的時間查出結果。
(1)sql時間查詢語句擴展閱讀:
SQL數據查詢語句
1、語句語法簡單歸納為:
SELECTselect_list[INTOnew_table_name][FROMtable_source]
[WHEREsearch_condition][GROUPBYgroup_by_expression]
[HAVINGsearch_condition][ORDERBYorder_expression[ASC|DESC]]
2、WITH子句用於指定臨時命名的公用表達式,在單條語句(SELECT、INSERT、UPDATE、DELETE)的語句執行范圍內定義。
3、LIKE關鍵字
用於模糊查詢,通配符有%、_、[]、[^]
%:後面可以跟零個或多個字元
_:匹配任意單個字元
[]:查詢一定范圍內的單個字元,包括兩端數據
[^]:表示不在一定范圍內的單個字元,包括兩端數據
Ⅱ SQL語句查詢特定時間段的數據怎麼寫
SQL伺服器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
訪問:
從表中選擇發生日期>#2008-7-1#和發生日期<#2008-12-31#
就是這樣:注意,SQLserver中的日期和訪問有一點不同。
(2)sql時間查詢語句擴展閱讀:
SQL查詢日期語句
Select*fromShopOrderwheredatediff(week,ordTime,getdate()-1)=0//查詢第一年的日期
Select*fromShopOrder,其中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*
FROMj_GradeShop
其中(GAddTimeBETWEENCONVERT(datetime,LEFT(GETDATE(),10)+'00:00:00.000'))
並轉換(datetime,LEFT(GETDATE(),10)+'00:00:00.00.000')+1)
由GAddTime指定的訂單
Ⅲ 如何在SQL中按時間段查詢數據
sql server:
select * from 表 where 發生日期>'2008-7-1' and 發生日期<'2008-12-31'
access:
select * from 表 where 發生日期>#2008-7-1# and 發生日期<#2008-12-31#
這樣就可以了,注意sql server與access中的日期有一點不一樣。
(3)sql時間查詢語句擴展閱讀:
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 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
Ⅳ 關於SQL模糊查詢日期時間的方法
1、Convert轉成String,在用Like查詢。
select*fromtable1 whereconvert(varchar,yourtime,120) like '2017-06-30%'
2、Between
select*fromtable1whereyourtime between '2017-06-30 0:00:00' and '2017-06-30 24:59:59'";
3、datediff()函數
select*fromtable1 wheredatediff(day,yourtime,'2017-06-30')=0
(4)sql時間查詢語句擴展閱讀
表達式DateDiff(timeinterval,date1,date2 [, firstdayofweek [, firstweekofyear]])
允許數據類型: timeinterval 表示相隔時間的類型,代碼為:
年份 yy、yyyy 季度 qq、q
月份 mm、m
每年的某一日 dy、y
日期 dd、d
星期 wk、ww
工作日 dw
小時 hh
分鍾 mi、n
秒 ss、s
毫秒 ms
Ⅳ SQL中查詢日期語句
SQL SERVER:
用函數datepart處理就可以了,示例:
select datepart(weekday,getdate()) as 周內的第幾日
select datepart(week,getdate()) as 年內的第幾周
select datepart(quarter,getdate()) as 年內的第幾季
周內的第幾日
-----------
5
(所影響的行數為 1 行)
年內的第幾周
-----------
34
(所影響的行數為 1 行)
年內的第幾季
-----------
3
(所影響的行數為 1 行)
Ⅵ 關於SQL模糊查詢日期時間的方法
有以下三種方法:
1、Convert轉成String,在用Like查詢
select * from table1 where convert(varchar,yourtime,120) like '2017-06-30%'
2、Between
select * from table1 where yourtime between '2017-06-30 0:00:00' and '2017-06-30 24:59:59'";
3、datediff()函數
select * from table1 where datediff(day,yourtime,'2017-06-30')=0
(6)sql時間查詢語句擴展閱讀:
滾與上述日期格式的like模糊查詢的注意事項
1、select * from T where sendTime like '%2007_12_%' 可以查詢2007年12月的所有記錄
如果like條件改為'%2007-12-%' ,'%2007_12_3%' ,或'%2007_12_30%' 都查不出數據。
2、select * from T where sendTime like '%12_30%' 可以查詢12月30日的所有記錄
如果like條件改為'%07_12_30%' 也查不出數據。
Ⅶ SQL語句中條件為日期時間型的查詢表達式怎麼寫
1.直接用字元串可自動轉換為datetime;
2.先轉換為Datetime再與欄位比較。
不知道易語言中字元串連接用什麼符號,如果是加號,這么寫:
臨時記錄集.打開 ("select 日記標題 from 日記表 where 日記日期= #" + 日記日期1 +"# ", #SQL語句)
Ⅷ SQL中兩個日期的查詢語句怎麼寫
1、創建測試表,
create table test_date(id int, v_date date);