SELECT * FROM 数据表 WHERE (DATEPART(HOUR, 时间字段) * 100 + DATEPART(MINUTE, 时间字段) >= 830) AND (DATEPART(HOUR, 时间字段) * 100 + DATEPART(MINUTE, 时间字段) < 1730)
Select * From TableName Where Convert(Varchar(5), 時間字段, 108) Between '08:30' and '17:30'
--建立測試環境 Create Table TEST (ID Int, TestDateTime DateTime) Insert TEST Select 1, '2007-03-01 10:00:00' Union All Select 2, '2007-03-02 18:00:00' Union All Select 3, '2007-03-03 17:30:00' GO --測試 Select * From TEST Where Convert(Varchar(5), TestDateTime, 108) Between '08:30' and '17:30' GO --刪除測試環境 Drop Table TEST --結果 /* ID TestDateTime 1 2007-03-01 10:00:00.000 3 2007-03-03 17:30:00.000 */
Select * From TableName Where Convert(Varchar(5), 時間字段, 8) Between '08:30' and '17:30'
楼主应该先告诉大家你用什么样的数据库,convert是sql server的函数
Access的话: SELECT * FROM 数据表 WHERE (DATEPART("H", 时间字段) * 100 + DATEPART("N", 时间字段) >= 830) AND (DATEPART("H", 时间字段) * 100 + DATEPART("N", 时间字段) < 1730)
WHERE (DATEPART("H", 时间字段) * 100 + DATEPART("N", 时间字段) >= 830) AND (DATEPART("H", 时间字段) * 100 + DATEPART("N", 时间字段) < 1730)
FROM 数据表
WHERE (DATEPART(HOUR, 时间字段) * 100 + DATEPART(MINUTE, 时间字段) >= 830) AND
(DATEPART(HOUR, 时间字段) * 100 + DATEPART(MINUTE, 时间字段) < 1730)
Where Convert(Varchar(5), 時間字段, 108) Between '08:30' and '17:30'
Create Table TEST
(ID Int,
TestDateTime DateTime)
Insert TEST Select 1, '2007-03-01 10:00:00'
Union All Select 2, '2007-03-02 18:00:00'
Union All Select 3, '2007-03-03 17:30:00'
GO
--測試
Select * From TEST
Where Convert(Varchar(5), TestDateTime, 108) Between '08:30' and '17:30'
GO
--刪除測試環境
Drop Table TEST
--結果
/*
ID TestDateTime
1 2007-03-01 10:00:00.000
3 2007-03-03 17:30:00.000
*/
Where Convert(Varchar(5), 時間字段, 8) Between '08:30' and '17:30'
SELECT *
FROM 数据表
WHERE (DATEPART("H", 时间字段) * 100 + DATEPART("N", 时间字段) >= 830) AND
(DATEPART("H", 时间字段) * 100 + DATEPART("N", 时间字段) < 1730)
(DATEPART("H", 时间字段) * 100 + DATEPART("N", 时间字段) < 1730)