【发布时间】:2018-04-26 08:00:10
【问题描述】:
我正在构建一个 c# 应用程序,它必须读取以下格式的数据。
Column1 Column2 Column3 时间戳 10 20 30 2017-04-25 14:15:00.000 12 30 40 2017-04-25 14:15:15.000 55 54 89 2017-04-25 14:15:30.000 66 78 11 2017-04-25 14:15:45.000 12 30 40 2017-04-25 14:16:00.000 55 54 89 2017-04-25 14:16:15.000 66 78 11 2017-04-25 14:16:30.000
时间戳的格式是
yyyy-mm-dd hh:mm:ss
每 15 秒记录一次数据。因此,任何连续两行的时间戳之间的差异应该是 15 秒。
例如:假设我要读取满足以下时间戳条件的 IN 列 3 值。
- 时间戳差异 (TimeDiff)
- 上限时间戳(TimeUpper)
-
下限时间戳(TimeLower)
TimeDiff >= 30 秒 TimeUpper = 2017-04-25 14:16:30.000 TimeLower = 2017-04-25 14:15:30.000
输出应该是这样的
Column3
89
整个想法是从数据库中提取数据点的特定时间窗口(两个时间戳之间),我可以在其中使用 Timediff 作为控制参数来调整读取的值。
我知道我可以在 SQL Server 中使用 CTE 来实现此逻辑,但我对 C# LINQ to SQL 感到迷茫。
如何在 C# 中编写逻辑?使用 LINQ
任何建议,想法都会很有帮助
提前谢谢你。
【问题讨论】:
-
你能提供一些示例输出吗?
-
@qxg 刚刚编辑了我的问题,谢谢。
-
我在这里真的没有看到问题。这看起来像一个简单的
Where x < y and y < x + 30 seconds。你的问题到底是什么?到目前为止,您只说明了您想做什么。 -
@Marco Logic 很简单。但就像我提到的,我迷失在将它放入 c# 程序中。
-
那么开始编码,当你遇到障碍时,在这里发布一个具体的问题。如果您不提供代码,我们将无法为您提供帮助。
标签: c# sql-server linq