sql-server - 我需要根据时间从表中选择数据。但是我的表字段是日期时间

标签 sql-server sql-server-2008 t-sql sql-server-2008-r2

我需要根据时间从表中选择数据,但是我的表字段是日期时间。如何只根据时间从表中选择数据?在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')

SELECT * 
FROM @temp
WHERE CAST(Col2 AS TIME) BETWEEN '08:00' AND '12:00'

输出 -

Col1        Col2
----------- -----------------------
2           2013-08-29 08:41:50.067

关于sql-server - 我需要根据时间从表中选择数据。但是我的表字段是日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18503045/

相关文章:

sql - 在 SQL Server 中循环遍历行并自动为每一行添加一个列号

sql - 关于查询执行的问题

c# - 无法将数据写入传输。 vs2017 ASP.net core 脚手架(MSSQL WINDOW 10)

sql-server - 将字符串值拆分为多列

sql-server - 了解 SQL Server 加密(通过密码)?

sql - 将编码信息添加到 FOR XML 的结果中

c# - 正确使用DBNull

c# - 有什么有效的解决方案/方法吗?

c# - 在 VS 2010 .net 4.0 中使用 Entity Framework 时出现“datetime2”错误

SQL 在多个维度的日期范围之间创建日期