Sql server 我需要根据时间从表中选择数据。但我的表字段是datetime
我需要根据时间从表中选择数据。但我的表字段是datetime。如何仅根据时间从表中选择数据?我可以在where子句中仅使用时间吗?请回答尝试此选项-Sql server 我需要根据时间从表中选择数据。但我的表字段是datetime,sql-server,sql-server-2008,tsql,sql-server-2008-r2,Sql Server,Sql Server 2008,Tsql,Sql Server 2008 R2,我需要根据时间从表中选择数据。但我的表字段是datetime。如何仅根据时间从表中选择数据?我可以在where子句中仅使用时间吗?请回答尝试此选项- DECLARE @temp TABLE ( Col1 INT , Col2 DATETIME ) INSERT INTO @temp (Col1, Col2) VALUES (1, '2013-08-29 07:41:43.717'), (2, '2013-08-29 08:41:50.067') SELE
DECLARE @temp TABLE
(
Col1 INT
, Col2 DATETIME
)
INSERT INTO @temp (Col1, Col2)
VALUES
(1, '2013-08-29 07:41:43.717'),
(2, '2013-08-29 08:41:50.067')
SELECT *
FROM @temp
WHERE CAST(Col2 AS TIME) BETWEEN '08:00' AND '12:00'
输出-
Col1 Col2
----------- -----------------------
2 2013-08-29 08:41:50.067
您可以尝试以下方法:
SELECT CONVERT(TIME, column) FROM table
列是您的datetime列
也可以使用CONVERT(时间、列)在WHERE子句中。我还有一个问题。这里我有两个场景。1)我有另一个问题。这里我有两个场景。1)我想查看2月份13.00到17.00之间的数据。2)我想查看2月份20:00到次日早上08:00的数据。对于第一个场景,它是合适的。我如何选择数据第二种情况?请回复