Oracle
 sql >> база данни >  >> RDS >> Oracle

JSON_ARRAY() Функция в Oracle

В Oracle Database, JSON_ARRAY() функцията създава JSON масив от поредица от SQL скаларни изрази или един екземпляр от тип колекция, VARRAY или NESTED TABLE .

Синтаксис

Синтаксисът е така:

JSON_ARRAY
  ( expr [ FORMAT JSON ] [, expr [ FORMAT JSON ] ]...
   [ JSON_on_null_clause ] [ JSON_returning_clause ]
   [ STRICT ]  )

Къде:

  • expr е всеки SQL израз, който се оценява на JSON обект, JSON масив, числов литерал, текстов литерал, дата, времеви печат или null .
  • FORMAT JSON показва, че входният низ е JSON и следователно няма да бъде в кавички в изхода.
  • JSON_on_null_clause определя поведението, което да се използва, когато expr съдържа нулева стойност (т.е. или включете нулеви стойности в изхода, или не).
  • JSON_returning_clause определя типа на връщаната стойност.
  • STRICT проверява дали изходът на функцията за генериране на JSON е правилен JSON. Ако проверката не успее, се появява синтактична грешка.

Пример

Ето пример, за да демонстрирате как работи:

SELECT JSON_ARRAY(1, 2, 3) FROM DUAL;

Резултат:

[1,2,3]

Вложено

Можете също да вложите JSON_ARRAY() функции в друг JSON_ARRAY() функция:

SELECT JSON_ARRAY(
    JSON_ARRAY(1, 2, 3),
    JSON_ARRAY(4, 5, 6)
    )
  FROM DUAL;

Резултат:

[[1,2,3],[4,5,6]]

FORMAT JSON Клауза

Можете да използвате FORMAT JSON клауза, която показва, че входният низ е JSON и следователно не трябва да се цитира в изхода.

Ето пример за демонстрация:

SELECT 
    JSON_ARRAY('{"a":1}') AS r1,
    JSON_ARRAY('{"a":1}' FORMAT JSON) AS r2
FROM DUAL;

Резултат:

              R1           R2 
________________ ____________ 
["{\"a\":1}"]    [{"a":1}]   

Нулеви стойности

Можете да укажете дали нулеви стойности са включени или не в получения масив.

За да ги включите, използвайте NULL ON NULL :

SELECT 
    JSON_ARRAY(1, null, 3 NULL ON NULL)
FROM DUAL;

Резултат:

[1,null,3]

За да ги изключите, използвайте ABSENT ON NULL :

SELECT 
    JSON_ARRAY(1, null, 3 ABSENT ON NULL)
FROM DUAL;

Резултат:

[1,3]

ABSENT ON NULL е по подразбиране.

Вижте документацията на Oracle за по-подробно обяснение на тази функция.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ASCII() функция в Oracle

  2. Как да се свържа с отдалечена Oracle DB с PL/SQL Developer?

  3. LOG() Функция в Oracle

  4. MS Достъп до Oracle лесно преобразуване / миграция

  5. ВЪНШЕН КЛЮЧ ПРИ ОГРАНИЧЕНИЕ НА ИЗТРИВАНЕ Грешка - Oracle