ORACLE LAG IGNORE NULLS

迁移特征 lag_ignore_nulls 的规则事实、精确目标横向结论与可执行验证路径。产品家族相似性不作为精确版本结论的依据。

professionalmajorhighora.func.lag_ignore_nulls

场景说明

该场景属于“函数与表达式”,适用于 sql、plsql、mybatis。权威状态:可进入权威统计。

正向识别示例

以下均来自规则库中 should_hit=true 的合成公开示例,不是客户代码。

SELECT LAG(status) IGNORE NULLS OVER (PARTITION BY account_id ORDER BY ts) FROM event_t
SELECT LAG(price, 2, 0) IGNORE NULLS OVER (ORDER BY day) FROM price_t

21 个精确目标版本 / 模式

目标支持度证据等级公开边界深入核对
openGauss 6.0 A 模式noneartifact_verified未登记额外公开说明,按来源与验证步骤复核。改造点 · 真机工件
磐维 PanWeiDB 3.0 A 模式partialartifact_verified未登记额外公开说明,按来源与验证步骤复核。改造点 · 真机工件
PostgreSQL 16 + orafce 4.16nonedoc_based未登记额外公开说明,按来源与验证步骤复核。改造点
PostgreSQL 16nonedoc_based未登记额外公开说明,按来源与验证步骤复核。改造点
展开 17 个 unknown / undeclared 结论
达梦 DM8unknownunverified当前事实源不足,不推断兼容。
GaussDB 505(ORA 模式)unknownunverified当前事实源不足,不推断兼容。
GBase 8sunknownunverified当前事实源不足,不推断兼容。
GoldenDB V6unknownunverified当前事实源不足,不推断兼容。
瀚高 HGDB 4.5unknownunverified当前事实源不足,不推断兼容。
人大金仓 KingbaseES V8unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 MySQL 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.2.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.3.5 MySQL 模式unknownunverified当前事实源不足,不推断兼容。
OceanBase 4.3.5 Oracle 模式unknownunverified当前事实源不足,不推断兼容。
openGauss 5.0 A 模式undeclaredunverified当前事实源不足,不推断兼容。
openGauss 6.0 B 模式(Dolphin)unknownunverified当前事实源不足,不推断兼容。
磐维 PanWeiDB 2.0unknownunverified当前事实源不足,不推断兼容。
PolarDB(Oracle 兼容)2.0unknownunverified当前事实源不足,不推断兼容。
神通数据库 7unknownunverified当前事实源不足,不推断兼容。
TDSQL Boundlessunknownunverified当前事实源不足,不推断兼容。
TiDB 8.5unknownunverified当前事实源不足,不推断兼容。

改造与验证路径

推荐方向

db_side · 先给每个源行位置 row_pos(分区内稳定完整排序),另保留非空行的 row_pos;对每个当前行从严格早于 row_pos 的非空行倒序取第 offset 条,不足时返回原 default

库侧

源行序号 CTE 加相关/LATERAL,按 row_pos<当前行倒序查第 N 个非空值 · 风险 review

应用侧

仅对有界小结果集维护每分区非空历史队列并按 offset 取值 · 风险 manual

验收步骤

覆盖 offset=1/2、连续 NULL、分区首部、全空、default 非 NULL、并列排序键和分区切换

公开来源