sql根據時間查詢
『壹』 sql語句查詢特定時間段的數據怎麼寫
SQL伺服器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
訪問:
從表中選擇發生日期>#2008-7-1#和發生日期<#2008-12-31#
就是這樣:注意,SQLserver中的日期和訪問有一點不同。
(1)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 條件語句按指定時間格式查詢
select * from 表1 order by datename(Minute Mi n, 日期)
註: datename(Minute Mi n, 日期) 取分鍾函數
『叄』 SQL 如何查詢日期在一定范圍內的數據
select * from 表 where 日期欄位>='開始日期' and 日期欄位<='截止日期' and convert(char(8),日期欄位,108)>='開始時間' and convert(char(8),日期欄位,108)<='截止時間'。
SELECT * FROM 表明 WHERE 日期欄位名 BETWEEN '20130101' AND '20130130'。
例如:
select * from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15'
and convert(char(8),dDate,108)>='8:00:00' and convert(char(8),dDate,108)<='9:00:00'.
select * from table1where year(d)=2010 and month(d)=7 and day(d) between 1 and 31
and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)
(3)sql根據時間查詢擴展閱讀:
SQL查詢日期:
今天的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())=0
昨天的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())=1
7天內的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())<=7
30天內的所有數據:select * from 表名 where DateDiff(dd,datetime類型欄位,getdate())<=30
本月的所有數據:select * from 表名 where DateDiff(mm,datetime類型欄位,getdate())=0
本年的所有數據:select * from 表名 where DateDiff(yy,datetime類型欄位,getdate())=0
參考資料:SQL_網路
『肆』 根據時間查詢的SQL語句
加入A表數據如下A(id,tt,time)
insert into B(id,tt)
select X.tt-Y.tt
from A X,A Y
where A.time='2010-7-12 14:00:00'and B.time='2010-7-11 14:00:00' and A.id=B.id
當然時間位置格式不一定正確,可根據需要修改,主要方法是利用表自身的連接,然後用差值運算
『伍』 sql 語句中按照時間查找怎麼寫
您好:
通常是
SELECT*
FROM表
WHERE時間欄位='20XX/XX/XX'--固定時間
WHERE時間欄位>'20XX/XX/XX'--晚於某個時間
WHERE時間欄位<'20XX/XX/XX'--早於某個時間
以及>=,<=這類的比較。。。
『陸』 如何在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中的日期有一點不一樣。
(6)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如何按時間段來查詢
select * from ms_cf01 a where a.kfrq between to_date('20100101 180000','yyyymmdd hh24miss')
and to_date('20101231 180000','yyyymmdd hh24miss')
and to_char(a.kfrq,'hh24miss') between '180000' and '240000'
主要用到 to_char,to_date對時間欄位的轉換方法,具體使用方法可
如果這么查詢,主要是第2個條件無法用上索引,所以最好的方式是在涉及表的時候將該欄位拆成2個欄位 日期 ,時間,並用整形表示
『捌』 sql server怎麼按時間查詢datetime
sql server 中,
可以用cast()函數將日期時間轉換為日期,
比如:cast('2014-01-22 13:22:35.000' as date) 的結果為2014-01-22
以下語句是查詢2012年的數據,日期范圍可以修改
select * 表名
where CAST(時間欄位 as date) between '2012-01-01' and '2012-12-31'
如果要查全年數據,也可以這樣,
select * 表名 where year(時間欄位)=2012
另外,用convert()函數也可以將日期時間欄位轉換為日期欄位來代替cast,具體用法一下
如果是oracle資料庫請用to_date()代替cast將日期時間欄位轉換為日期來查詢
『玖』 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'