1
我正在使用最新的PI-OLEDB庫從OSIsoft PI Historian中的聚合視圖讀取數據到SQL Server中。例如:如何通過PI-ODBC使用SQL來獲取時間段開始時間?
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()。