ydb icon indicating copy to clipboard operation
ydb copied to clipboard

Улучшить в документации пример про NULL в Dict

Open uh-zuh opened this issue 2 years ago • 0 comments

Тут https://ydb.tech/ru/docs/yql/reference/types/optional есть пример:

$dict = {"a":1, "b":null};
$found = $dict["b"];
select if($found is not null, unwrap($found), -1);

но он не вносит ясности, а вызывает ещё больше вопросов.

Предлагаю улучшенную версию примера:

$dict = {"a":1, "b":null};
$found1 = $dict["a"];
$found2 = $dict["b"];
$found3 = $dict["c"];
SELECT "a", $found1, if($found1 is not null, unwrap($found1), -1)
UNION ALL
SELECT "b", $found2, if($found2 is not null, unwrap($found2), -1)
UNION ALL
SELECT "c", $found3, if($found3 is not null, unwrap($found3), -1);

Результат:

# column0 column1 column2
0 "a"         [1]       1
1 "b"        null    null
2 "c"        null      -1

uh-zuh avatar Aug 11 '22 20:08 uh-zuh