2

我需要根据时间从表中选择数据。但我的表字段是日期时间。如何仅根据时间从表中选择数据?我可以在 where 子句中只使用时间吗?请回复

4

2 回答 2

2

试试这个——

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
于 2013-08-29T05:42:38.967 回答
1

你可以试试这个:

SELECT CONVERT(TIME, column) FROM table

列是您的日期时间列

您还可以在 WHERE 子句中使用 CONVERT(TIME, column)。

于 2013-08-29T05:43:44.123 回答