首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Aspen SQLPLUS查询中获取值和前一个值?

在Aspen SQLPLUS查询中获取值和前一个值?
EN

Stack Overflow用户
提问于 2019-04-29 04:44:09
回答 1查看 1.3K关注 0票数 1

在Aspen V8.8查询中使用SQLPLUS之前,我正在尝试获取一个值和该值。

但我在使用此函数时出现错误

下面是我的代码:

代码语言:javascript
复制
SELECT IP_TREND_VALUE, IP_TREND_TIME, LAG(IP_TREND_VALUE,1,0) OVER (ORDER BY IP_TREND_TIME)  as valeur_prec from IP_DIDef_1 WHERE name='my_value' and IP_TREND_TIME BETWEEN '15-APR-19 00:00:00' and '28-APR-19 00:00:00' ORDER BY IP_TREND_TIME

使用这段代码,我得到了一个错误“期望保留字来自”。你能告诉我我的错误在哪里吗,或者我怎样做才能得到不同的东西?

非常感谢

问候

EN

回答 1

Stack Overflow用户

发布于 2019-04-29 22:22:11

请记住,数据历史学家远非SGBD数据库。即使可以通过ODBC驱动程序使用,SqlPlus的语法也不是标准的SqlServer,甚至与Oracle或Sql有很大的不同。

话虽如此,我的猜测(我猜你对记录的数据感兴趣,而不是插值的数据)将是:

代码语言:javascript
复制
LOCAL dTs1 TIMESTAMP;
LOCAL dTs2 TIMESTAMP;

dTs1 = (
    SELECT MAX(IP_TREND_TIME)
    FROM "[Tag name]"
    WHERE IP_TREND_TIME BETWEEN '15-APR-19 00:00:00' AND '28-APR-19 00:00:00'
    AND ABS(IP_TREND_VALUE - [value you search]) < [precision you are ok with]
);

--WRITE dTs1;

SET MAX_ROWS = 1;
dTs2 = (
    SELECT IP_TREND_TIME
    FROM "[Tag name]"
    WHERE IP_TREND_TIME >= '15-APR-19 00:00:00' AND IP_TREND_TIME < dTs1
);

--WRITE dts2;

SET MAX_ROWS = 2;
SELECT IP_TREND_TIME, IP_TREND_VALUE
FROM "[Tag name]"
WHERE IP_TREND_TIME IN (dTs1, dTs2)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55894422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档