Java 访问PI 数据库:(3)PI的基本SQL语句

从PI 获取数据

目前从PI 获取的数据

历史时间点的

  • 获取快照值
SELECT tag, time, value, svalue, status FROM piarchive..picomp WHERE time = '*'select tag,time,value,status from piarchive..pisnapshot
  • 获取历史时间点值
    SELECT TOP 1 *
            FROM piarchive..picomp2         
            WHERE tag = 'cdm158' AND time <= '2017/9/21 22:56:00'
            ORDER BY tag, time DESC '*'
  • 获取历史时间点值(最近)
select * from piarchive..picomp2
where tag = 'cdm158' AND time = 
(
SELECT CASE WHEN (mytime - prevtime) < (nexttime - mytime) THEN prevtime ELSE nexttime END
FROM
(
    SELECT mytime,
        (
            SELECT TOP 1 time
            FROM piarchive..picomp2         
            WHERE tag = p.mytag AND time <= p.mytime
            ORDER BY tag, time DESC
        ) prevtime,
        (
            SELECT TOP 1 time
            FROM piarchive..picomp2
            WHERE tag = p.mytag AND time >= p.mytime
            ORDER BY tag, time ASC
        ) nexttime
    FROM
    (
        SELECT 'cdm158' mytag, DATE('2017/9/21 22:56:00') mytime
    ) p
) t
)
  • 获取当前时间
SELECT DATE(N'*') Time
--2017/9/22 11:25:34
  • 获取当前时间前一个小时
SELECT DATE(N'*-1h') Time
--2017/9/22 10:25:11
  • 获取当前日期 昨日0点
SELECT DATE(N'y') Time
--2017/9/21 0:00:00
  • 获取当前日期 今日0点
SELECT DATE(N't') Time
--2017/9/22 0:00:00
  • 获取指定日期
SELECT DATE(N'2017-09-23 00:01:12') Time
--2017/9/23 0:01:12

SELECT DATE(N'01-Jan-2010') Time
--2010/1/1 0:00:00
  • 格式化日期
select FORMAT('2017/9/21 22:56:00','yyyy-MM-dd hh:mm:ss') Time
--2017-09-21 10:56:00
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值