Данные функции применяются к типу данных JSON (JavaScript Object Notation).
Функция | Возвращаемый тип данных | Описание | Пример | Результат |
---|---|---|---|---|
filter(js, indx) | json | Извлекает из js компонент с индексом. Индекс начинается с 0 для первого элемента | filter(json '["a", 4]', 1) | [4] |
filter(js, pathexpr) | json | Извлекает из js компонент, удовлетворяющий строке pathexpr. Поддерживаемый синтаксис выражения пути JSON описан в JSONPath | filter(json '{"price":9}', '$..price') | [9] |
"integer"(js) | bigint, int, smallint или tinyint | Превращает число, значение singleton-массива или элемент singleton-объекта js в целое число. В случае неудачи возвращает NULL | "integer"(json '{"n":4}') | 4 |
isarray(str) | boolean | Проверяет строку str на соответствие массиву JSON | isarray('[1,7]') | true |
isarray(js) | boolean | Проверяет JSON-значения js на соответствие массиву JSON | isarray(json '[1,7]') | true |
isobject(str) | boolean | Проверяет строку str на соответствие объекту JSON | isobject('{"n":4}') | true |
isobject(js) | boolean | Проверяет JSON-значение js на соответствие объекту JSON | isobject(json '{"n":4}') | true |
isvalid(str) | boolean | Проверяет строку str на соответствие синтаксису JSON | isvalid('{"a":[1]}') | true |
isvalid(js) | boolean | Проверяет JSON-значение js на валидность JSON | isvalid(json '{"a":[1,2]}') | true |
keyarray(js) | json | Возвращает список массивов ключевых тегов для компонентов верхнего уровня js. Примечание: js должен представлять собой объект JSON, иначе будет выдана ошибка (Object expected) |
keyarray(json '{"id":2, "nm":"X"}') | ["id","nm"] |
length(js) | int | возвращает количество компонентов верхнего уровня в js | length(json '{"a":[1]}') | 1 |
number(js) | double | Превращает число, значение массива singleton или тег объекта singleton js в double. В случае неудачи возвращает NULL. | number(json '{"n":4}') | 4.0 |
text(js) | clob | Объединяет значения в js, разделенные символом пробела | text(json '[1,2,3,4]') | 1 2 3 4 |
text(js, Separator str) | clob | Объединяет значения в js, разделенные символом, указанном в Separator str | text(json '[1,2,3,4]', 'x') | 1x2x3x4 |
valuearray(js) | json | Возвращает массив тегов значений для компонентов верхнего уровня js. Примечание: js должен представлять собой объект JSON, иначе будет выдана ошибка (Object expected) |
valuearray(json '{"a":1, "b":2}') | [1,2] |
Функции возвращают конкатенированную строку clob, которая является корректным массивом json
Функция | Возвращаемый тип данных | Описание | Пример | Результат |
---|---|---|---|---|
tojsonarray(double) | clob | Преобразование числовых значений в столбце/группе в строку массива JSON | tojsonarray(i) | [ "1", "2", "3", "4" ] |
tojsonarray(clob) | clob | Преобразование строковых значений в столбце/группе в строку массива JSON | tojsonarray(c) | [ "one", "two", "tree", "four" ] |