A. 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)
(1)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_網路
B. sql日期時間段包含在一個范圍內
select * from TO_ALARMS_SMS where 時間(時間所在的列名) BETWEEN '2018-1-1 07:00:00' AND '2018-3-4 10:00:00'
C. sql 語句如何查詢日期范圍
在兩個日期之間畢殲禪 between 「2012-1-1」改御 and "2012-12-12"; 日期手塵〉「2012-1-1」 and 日期 < "2012-12-12" ;
D. sql裡面如何設置查詢的時間范圍
分類宏物: 電腦/網路 >> 程序設計 >> 其他編程語言
問題描述:
我的SQL裡面有一個「離崗時間」欄位,我現在想設置條件「離崗時間」為2005年10月30日以前的,where語句應該怎麼寫?還有就是想要查詢「離崗時間」為2005年1月日到2005年10月30日這段時間的,where語句應該怎麼寫?
where 離崗時間<#2005/10/30# 這樣寫好象不對
解析:
對 SQL SERVER 資料庫
----------------------------
SELECT * FROM 表名 WHERE 離崗蔽高液時間<'2005-10-30'
SELECT * FROM 表名 WHERE 離崗時間 BETWEEN '2005-1-1' AND '2005-10-30'
------------------------------------
對 ACCESS
----------------------------
SELECT * FROM 表名 WHERE 離崗時間<#2005-10-30#
SELECT * FROM 表念培名 WHERE 離崗時間 BETWEEN #2005-1-1# AND #2005-10-30#
E. sql server 日期范圍查詢
SELECT * FROM 表明 WHERE 日期欄位名 BETWEEN '20130101' AND '20130130'
或者:
SELECT * FROM 表明 WHERE 日期欄位名 BETWEEN CONVERT(datetime,'2013-01-01',120) AND CONVERT(datetime,'2013-01-30',120)
(5)sql中的日期范圍擴展閱讀:
注意事項
在寫按時間段查詢的sql語句的時候 一般我們會這么寫查詢條件:
where date>='2010-01-01' and date<='2010-10-1'。
但是在實執行Sql時些語句會轉換成這樣:
where date>='2010-01-01 0:00:00' and date<='2010-10-1:0:00:00',再看這個條件的話,就會有些明白,那就是'2010-10-1 0:00:00' 之後的數據例如('2010-10-1:08:25:00')查不到,也就是說2010-10-1的數據查不到。
修改查詢條件為:
where date>='2010-01-01' and date<='2010-10-1 23:59:59' 或 where date>='2010-01-01' and date<='2010-10-2'。
某個表某個欄位是Datetime型 以"YYYY-MM-DD 00:00:00" 存放
F. sql 查詢時間、日期范圍內的數據
SELECT*
FROMTableName
WHERECONVERT(DATETIME,CONVERT(VARCHAR,日期列)+''+CONVERT(VARCHAR,時間列))BETWEEN'2012-1-107:00:00'AND'2012-1-410:00:00'
G. SQL資料庫中如何篩選某一個表中的時間欄位的范圍
例如:表a中的datetime欄位都是『2013-05-11 13:10:00『這種格式的,篩選凳耐罩其中8:00到10:00之間的。
select * from 表a
where substring(convert(varchar,欄位名,120),12,8) between '棗鬧08:00:00' and '10:00:00'
H. 用sql語句如何判斷年、月、日是否在日期范圍呢
你是要 判斷一個 varchar 類型的 數據, 是不是 日期類型?
也就是相當於一個 ISDate() 函數的判斷么?
如果是 SQL Server 的話, 已經有這樣的函數了。
1> select isdate('2012-10-10') A, isdate('2012-13-13') B
2> go
A B
----------- -----------
1 0
(1 行受影響)
如果是 Oracle 資料庫的話, 可以嘗試 TO_DATE 再捕獲異常的方式進行處理。
create or replace function isdate(p_date in varchar2)
return number
as
v_date date;
begin
v_date:=to_date(p_date, 'YYYY-MM-DD');
return 1; --正確
exception
when others then
return 0;
end;
SQL> select isdate('2012-10-10') A, isdate('2012-13-13') B FROM al;
A B
---------- ----------
1 0
I. SQL Server中datatime的表示的范圍是多少到多少
在 Microsoft SQL Server中,日期和時間數據類型團磨包括Datetime 和塌核斗 Smalldatetime 兩種類型時,所存儲的日期范圍是從 1753 年 1 月 1 日氏答開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲位元組)。使用 Smalldatetime 數據類型時,所存儲的日期范圍是 1900年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲位元組)。
J. SQL查詢時間范圍語句
以下為MS_SQL的寫法分日期和小時條件;
select *
from xy
where
(id=27 or id=28)and convert(varchar(10),WRITETIME,120) between '2009-01-26' and '2009-02-06'
and
convert(varchar(8),WRITETIME,108) between '08:00:00'and '12:30:00'