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

时间:2012-03-05 21:04:06

标签: sql 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列指定的句点的 end 。 / p>

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

(警告:我不使用PI,所以我是盲目的,不能只是试错了。我有PI OLEDB数据提供商手册,但细节上很少。)

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

1 个答案:

答案 0 :(得分:0)

事实证明time - RELDATE('1h')完美无缺。