0

我有一个 SQL 数据库,其中有一个 DataType DateTime 列。现在我想要具有特定日期持续时间的数据。例如,我想要从 01/09/2012 到 10/09/2012 的数据,有什么办法吗?

4

2 回答 2

0

是的,试试这个:

SELECT *
FROM YourTable
WHERE Date >= '2012-09-01 00:00:00' AND Date < '2012-09-11 00:00:00'
于 2012-09-11T11:39:07.807 回答
0

首先创建一个从 DateTime 中删除时间的函数。我打电话给我的 dbo.DateOf

CREATE FUNCTION [dbo].[DateOf](
    @DateAndTime DateTime
)
RETURNS DateTime
AS
begin
    RETURN Cast(FLOOR(Cast(@DateAndTime as Float)) as DateTime)
end

现在您将能够进行这样的查询并从包含时间的 Datetime 列中获取结果 - 这对人类来说很有意义

SELECT * FROM YourTable
where dbo.Dateof(datecolumn) >= '2012-09-01' and dbo.DateOf(datecolumn) <= '2012-09-11'
于 2012-09-12T08:34:37.413 回答