gpt4 book ai didi

SQL 选择 HH :MM - HH:MM

转载 作者:行者123 更新时间:2023-12-01 11:38:32 27 4
gpt4 key购买 nike

我正在尝试编写一个将返回当前时间的 SQL 查询,如下所示:

HH:MM - HH:MM (+1)

例如如果时间是 14:00,它将返回 14:00 - 15:00

我已经设法做到了以下几点:

SELECT TOP (30) 
DATEADD(HOUR, DATEDIFF(HOUR, 0, QUEUE_TIME.QueueDate), 0) AS 'DateAdded',
CAST(CONVERT(VARCHAR(2), DATEPART(HH, QUEUE_TIME.QueueDate), 108) AS VARCHAR(2)) + ' - ' +
CAST(CONVERT(VARCHAR(2), DATEPART(HH, QUEUE_TIME.QueueDate), 108) + 1 AS VARCHAR(2)) AS Interval,
QUEUE_TYPE.Name, QUEUE_TIME.QueueTypeId,
MAX(QUEUE_TIME.QueuedTimeInSec / 60) AS 'WaitingTimeInSec',
CAST(ROUND(AVG(QUEUE_TIME.FlowRateWhenJoinedPerMin), 1) AS numeric(36, 2)) AS AvgFlowRate
FROM
QUEUE_TIME
INNER JOIN
QUEUE_TYPE ON QUEUE_TIME.QueueTypeId = QUEUE_TYPE.Id
WHERE
(QUEUE_TIME.QueueDate >= '11/07/2014 00:00')
AND (QUEUE_TIME.IsFreeFlowing = '0')
AND (QUEUE_TIME.QueueTypeId = '3')
GROUP BY
DATEADD(HOUR, DATEDIFF(HOUR, 0, QUEUE_TIME.QueueDate), 0),
DATEPART(HOUR, QUEUE_TIME.QueueDate), QUEUE_TYPE.Name, QUEUE_TIME.QueueTypeId
ORDER BY
'DateAdded'

这将返回如下,例如如果是早上 8 点,它将返回 8-9。但我需要它的格式为 08:00 - 09:00。

如有任何帮助,我们将不胜感激。

我正在使用 SQL Server 2008。

谢谢

最佳答案

这是一个示例,您可以将 @now 变量替换为列名:

declare @now datetime = getdate()

select convert(varchar(5), @now, 114) + ' - ' +
convert(varchar(5), dateadd(hour, 1, @now), 114) yourColumn

SQL Fiddle demo

关于SQL 选择 HH :MM - HH:MM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24697790/

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