gpt4 book ai didi

sql - 如何从 SQL 中选择给定时间间隔之间的数据

转载 作者:行者123 更新时间:2023-12-04 19:59:45 31 4
gpt4 key购买 nike

我在 SQL SQL Data i am having 中有以下数据

需要sql队列:

我有 10 个标签,它每隔 10 秒就连续记录到 SQl。
现在我想创建像.....用户将在此基础上提供时间间隔和标签名称的报告,它将从表格​​中选择数据并在 Excel 中显示
假设我的输入是:
间隔为 2016-09-21 14.00.00 2016-09-21 22.00.00
标签名称是:系统\年
我想要以下输出:output result
假设当时不存在记录,那么我需要空白/零值。
我想在 VB6 中创建它。

最佳答案

您需要使用一条 SQL 语句从您想要的记录中选择您想要的字段。你说你试图只选择偶数分钟,所以 SQL 类似于

SELECT
fields
FROM table
WHERE
(DateAndTime BETWEEN '2016-09-21 14:00' AND '2016-09-21 22:00')
AND
(DATEPART(MINUTE, DateAndTime) % 60 = 0)

如果您甚至需要几秒钟,也只需在 WHERE 子句中添加另一个 AND。
SELECT
fields
FROM table
WHERE
(DateAndTime BETWEEN '2016-09-21 14:00' AND '2016-09-21 22:00')
AND
(DATEPART(MINUTE, DateAndTime) % 60 = 0)
AND
(DATEPART(SECOND, DateAndTime) % 60 = 0)

为了回答最后一条评论中的问题,我设计了一个有效的 SQL 查询。如果您使用 SQL 标记发布您的确切要求并忽略 vb6、vba 标记,因为这实际上是所有 SQL 并且与运行它的环境无关,那么您可能会得到更好的答案。这将起作用。我建议将其合并到存储过程中。

这通过创建一个表变量并用可以返回的可能时间值填充它来工作。然后它左连接您要查询的表。当没有要加入的记录时,结果是来自第二个表的空值。
--select records on the hour from 8:00 to 5:00
DECLARE @MinTime datetime = '2016-9-9 09:00' --need to parameterize
DECLARE @MaxTime datetime = '2016-9-10 17:00' --need to parameterize
DECLARE @TempTime datetime = @MinTime

DECLARE @Times TABLE
(
TimeValue datetime
)
WHILE @TempTime <= @MaxTime
BEGIN
INSERT INTO @Times
(
TimeValue
)
VALUES
(
@TempTime
)
SET @TempTime = DATEADD(hour, 1, @TempTime)
END

SELECT
CONVERT(varchar(10), TimeRange.TimeValue, 101) AS [Date]
,CONVERT(varchar(10), TimeRange.TimeValue, 108) AS [Time]
,ISNULL(Tag, 'NA')
,ISNULL(Value, 0)
FROM
@Times TimeRange
LEFT JOIN
table
ON
(CONVERT(datetime, CONVERT(varchar(10), table.DateAndTime, 101) + ' ' + CONVERT(varchar(2), DATEPART(HOUR, table.DateAndTime)) + ':' + CONVERT(varchar(2), DATEPART(MINUTE, table.DateAndTime)) + ':' + CONVERT(varchar(2), DATEPART(SECOND, table.DateAndTime))) = TimeRange.TimeValue)
WHERE
(TimeRange.TimeValue BETWEEN @MinTime AND @MaxTime)

关于sql - 如何从 SQL 中选择给定时间间隔之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39624204/

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