gpt4 book ai didi

sql-server-2008 - 在SQL Server 2008中的日期和时间之间进行搜索

转载 作者:行者123 更新时间:2023-12-04 03:02:41 25 4
gpt4 key购买 nike

我需要在日期和时间之间进行搜索。

例如,在date: 30/02/2007, time: 10:32date: 21/06/2008, time: 14:19之间

最简单的查询是什么?

提前致谢。

最佳答案

您应该查看SQL Server中可用的日期时间格式:http://msdn.microsoft.com/en-us/library/ms187928.aspx
yyyy-mm-dd hh:mi是您应该使用的:

尝试:

SELECT
*
FROM Records
WHERE DateCreated>='2007-02-30 10:32' AND DateCreated<='2008-06-21 14:19'

在上面的查询中,如果 DateCreated是datetime列,则字符串将转换为datetime数据类型。该查询将起作用。

您可以创建日期时间数据类型的局部变量,并使用类似以下的查询:
DECLARE @StartDate datetime, @EndDate datetime

SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'

SELECT
*
FROM Records
WHERE DateCreated>=@StartDate AND DateCreated<=@EndDate

我喜欢使用<,<=,> =或>,因为它比 BETWEEN具有更大的灵活性,并迫使您考虑是否包含端点。

要考虑的另一件事是在一整天中获取所有数据:
DECLARE @StartDate datetime, @EndDate datetime

--set the days you want
SELECT @StartDate='2007-02-30 10:32', @EndDate='2008-06-21 14:19'

--remove the time
SELECT @StartDate=DATEADD(day,DATEDIFF(day,0,@StartDate),0), @EndDate=DATEADD(day,DATEDIFF(day,0,@EndDate),0)

--get everything on '2007-02-30' up to the end of the day on '2008-06-21'
SELECT
*
FROM Records
WHERE DateCreated>=@StartDate AND DateCreated<@EndDate+1

关于sql-server-2008 - 在SQL Server 2008中的日期和时间之间进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2462738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com