Похоже, что Db2 по умолчанию NULL ON ERROR
вместо ERROR ON ERROR
, как Oracle. Это приводит к ожидаемой ошибке:
select json_value(json_object(key 'a' value 1), '$.b' error on empty error on error)
from SYSIBM.DUAL
Уступ
Результат не содержит элемент SQL / JSON. SQLCODE = -16405, SQLSTATE = 22035, DRIVER = 4.7.85
В соответствии со стандартом SQL: 2016 Db2 соответствует, а Oracle - нет. Из ISO / IEC 9075-2: 2016 (E) 6.27
4) If <JSON value empty behavior> is not specified, then NULL ON EMPTY is implicit.
5) If <JSON value error behavior> is not specified, then NULL ON ERROR is implicit.