如何使用SQL over PI-ODBC获取时间段开始时间



我正在使用最新的PI-OLEDB库将OSIsoft PI Historian中的聚合视图中的数据读取到SQL Server中。示例:

SELECT time, value 
FROM piavg
WHERE 
   timestep = RELDATE('1h') 
   AND tag = TAGNAME('mytag')
   AND time > DATE('4-Mar-12 00:00:00');

不幸的是,聚合视图(PIavg等)仅提供单个time列,该列表示timestep列指定的周期的结束

如何检索同一时段的开始时间?我知道PI-SQL支持一些时髦的日期数学文字,但我不太清楚time - RELDATE('1h')或其他可以别名为starttime的语法。

(注意:我不使用PI,所以我是盲目的,不能只是试错。我有PI OLEDB数据提供程序手册,但它在细节上相当稀疏。)

我意识到我可以在SQL Server中拼凑一些东西,但我宁愿使用PI日期函数,这样当SQL Server取回数据时就不需要额外的工作了。我正在处理许多timestep值,所以它不仅仅是SQL Server中的静态DATEADD()。

事实证明time - RELDATE('1h')工作得很好。

相关内容

最新更新