SQL如何按時(shí)間段查詢

2022-10-07 19:06

4個回答
SELECT * FROM Record WHERE
TO_CHAR(Times,'YYYY/MM/DD') BETWEEN '2010/01/01' and '2010/12/31'
AND TO_CHAR(Times,'D') BETWEEN 2 AND 6
AND (TO_CHAR(Times,'HH24:Mi:SS') BETWEEN '08:30:00' and '12:00:00' or TO_CHAR(Times,'HH24:Mi:SS') BETWEEN '12:30:00' and '17:00:00')
'D' 是獲取星期,從星期日 開始 是1 ,其他的就不用說了吧。
用 between and
時(shí)間函數(shù)各個數(shù)據(jù)庫不完全相同,但思路是一樣的,不要糾結(jié)時(shí)間段。
其實(shí)你上面的需求就是:
YEAR(RECORD)=2010
DAYOFWEEK BETWEEN 1 AND 5
這個樣子,就是時(shí)間型字段拆分判斷,根據(jù)不同數(shù)據(jù)庫使用時(shí)間函數(shù)就可以了。
估計(jì)你這個是sqlserver,我給你寫一下:

SELECT * FROM Record
WHERE
convert(varchar(10),Times,120) BETWEEN '2010-01-01' and '2010-12-31'
AND DatePart('w',Times) BETWEEN 2 AND 6
AND (
CONVERT(varchar(8), Times, 8) BETWEEN '08:30:00' and '12:00:00'
or
CONVERT(varchar(8), Times, 8) BETWEEN '12:30:00' and '17:00:00'
)
相關(guān)問答
如何在SQL中按時(shí)間段查詢數(shù)據(jù)
5個回答2022-10-04 12:04
sql server: select * from 表 where 發(fā)生日期>'2008-7-1' and 發(fā)生日期#2008-7-1# and 發(fā)生日期擴(kuò)展資料: sql查詢?nèi)掌谡Z句 sele...
全文
sql 模糊查詢+時(shí)間段查詢
1個回答2022-09-24 11:36
select * from kucun where 時(shí)間字段 between '2009-01-02' and '2010-02-01' and ( kName like '%小%' or kLin...
全文
SQL時(shí)間段查詢+模糊查詢
2個回答2022-09-17 11:20
沒有給出太多的信息.我就直接寫吧: SELECT * FROM 表A where --這個是時(shí)間段查詢 時(shí)間列 BETWEEN GETDATE()-1 AND GETDATE() --模糊查詢...
全文
SQL問題 實(shí)現(xiàn)遞歸查詢
1個回答2024-02-21 15:49
遞歸不用專門的語句呀,就是在函數(shù)中調(diào)用自己就可以了,注意一定要有遞歸結(jié)束的條件。
sql如何按日期中的月份查詢
2個回答2022-08-30 06:15
sql按日期中的月份查詢?nèi)缦拢? SQL Server select * from [data] where? DATEPART(m,[date])=2 Access select * fro...
全文
SQL時(shí)間段的查詢問題!
2個回答2022-09-10 16:28
select * from SalutionEv where datediff(dd,InsertTime,'2012-03-26')0 Salution,Name,InsertTime 一簾幽夢...
全文
SQL查詢語句中,什么叫子查詢?
3個回答2022-08-22 17:15
子查詢或稱為內(nèi)部查詢、嵌套查詢,指的是在 SQL 查詢中的 WHERE 子句中嵌入查詢語句。 一個 SELECT 語句的查詢結(jié)果能夠作為另一個語句的輸入值。 子查詢可以與 SELECT、INSERT...
全文
SQL查詢兩個表聯(lián)合查詢怎么寫?
1個回答2022-10-29 12:35
如下方法: select top 1 a.姓名 , b.minnum , b.maxnum from a INNER JOIN b ON a.id = b.id where b.minnum > ...
全文
sql中同年同月同日查詢
2個回答2022-06-12 20:27
--查重復(fù) select * from 學(xué)生表 a where exists(select 1 from 學(xué)生表 where convert(varchar(7),生日,120)=convert(va...
全文
SQL 復(fù)雜表查詢
2個回答2022-09-19 22:18
看了頭暈,為何要用中文字段呀,呵呵~ select 主表.*,工序表.工序名稱,作廢表.作廢名稱 from 主表 left 工序表 on 主表.工序代號=工序表.工序代號 left 作廢表 on 主...
全文
熱門問答