sql按日期查詢
⑴ 關於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
(1)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中按時間段查詢數據
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中的日期有一點不一樣。
(2)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語句怎麼查詢在某日期之前的數據
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」缺衡圖標。
⑷ sql按時間條件查詢如何寫
用between有並喚個問題就是最後一天查詢不到,也就是他的范圍是[2011-1-1, 2011-2-1)也可以直接用>=和<=來查詢,比如:select * from table where 時間>='2011-1-1' and 時間升睜<'絕笑凱2011-2-1'或者select * from table where 時間 between '2011-1-1' and '2011-2-1'
⑸ SQL 日期型查詢
CaseSql="where month(開始日期)="&month(Request("開始日期"))&" and day(開始日期)>=1 and day(開始日期)<="&day(Request("開始日期"))
或者如果不用日期的,只用月份的
「where month(開始日期)=」&month(Request("開始日期"))
⑹ sql 如何查詢同一個欄位中,日期最近的那個記錄
使用「order by 欄位名 desc」對日期欄位進行倒序排序即可。
sql語法:select * from 表名 order by 日期欄位名 desc
其中,排序的時候order by 後面跟著需要進行排序的欄位名,排序可以有兩種,默認是asc升序(在sql中可以不寫),如果希望降序排列的話,可以使用desc。如你想要最近的日期的話就只需要降序即可。
舉例:如tpl_purchase_order 是我的訂單表,該表有一個欄位創建日期(欄位名:CREDATE)是日期類型,衫告希望通過sql實現按照按照創建日期由近到遠的順序排列。
對應sql:select * from tpl_purchase_order order by credate desc;
sql執行後輸出結果為:
注意:在以上或悶明的結果中有兩罩顫個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。
⑺ sql如何按日期中的月份查詢
select * from 表名 where datepart(dd,時間欄位)=要查詢日期的天數 and
datepart(mm,時間欄位)=要查詢的月份
例如有個表t_cp 時間欄位stime
select * from t_cp where datepart(dd,stime)=5 and datepart(mm,stime)=8
查詢這個表中,8月5號的數據
⑻ SQL 如何查詢日期在一定范圍內的數據
查詢方法:
select * from 表 where 日期>='20130101' and 日期<='20130130'。
(8)sql按日期查詢擴展閱讀:
SQL是一種查詢功能很強的語言,只要是數清御據庫存在的數據,總能通過適當的方法將它從資料庫中查找出來。
SQL中的查詢語句只有缺正塵一個:SELECT,它可與其它語句配合完成所有的查詢功能。SELECT語句的完整語法,可以有6個子句。
完整的語法如下:
SELECT 目標表的列名或列表達式集合
FROM 基本表或(和)視圖集合
〔WHERE條件表達式〕
〔GROUP BY列名集合〔HAVING組條件表達式〕〕
〔ORDER BY列名〔集合〕?〕
簡單查詢,使用TOP子句。
查詢結果排序order by。
帶條件的查詢where,使用算術表達式,使用邏輯表達伏禪式,使用between關鍵字,使用in關鍵字,
模糊查詢like。
網路—SQL資料庫
⑼ sql語句按日期指定查詢
這樣就可以了啊:
1.select *
from table_name where 發生日期 between '2008-07-01'and '2008-12-31'
2.和上面同理哈
祝你好運!
⑽ 關於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
(10)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