我需要根据时间从表中选择数据。但是我的表字段是datetime

时间:2013-08-29 05:37:01

标签: sql-server sql-server-2008 tsql sql-server-2008-r2

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

你可以试试这个:

SELECT CONVERT(TIME, column) FROM table

列是您的日期时间列

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