Mysql
 sql >> Baza danych >  >> RDS >> Mysql

JSON_OBJECT() – Utwórz obiekt JSON z listy par klucz/wartość w MySQL

W MySQL możesz użyć JSON_OBJECT() funkcja do tworzenia obiektu JSON z listy par klucz/wartość. Każdą parę klucz/wartość podajesz jako dwa oddzielne argumenty. Każda para staje się parą klucz/wartość w wynikowym obiekcie JSON.

Musisz podać parzystą liczbę argumentów (w przeciwnym razie miałbyś niekompletną parę gdzieś na liście argumentów).

Funkcja akceptuje również pustą listę (tzn. nie podajesz żadnych argumentów). W takim przypadku otrzymasz pusty obiekt.

Składnia

Składnia wygląda tak:

JSON_OBJECT([key, val[, key, val] ...])

Nawiasy kwadratowe wskazują opcjonalny argument. Dlatego używanie tej funkcji bez przekazywania jakichkolwiek argumentów jest całkiem prawidłowe.

Przykład 1 – Podstawowe użycie

Oto przykład do zademonstrowania.

SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';

Wynik:

+------------------------------------------+
| Result                                   |
+------------------------------------------+
| {"City": "Cairns", "Population": 139693} |
+------------------------------------------+

Przykład 2 – Puste ciągi

Puste ciągi są prawidłowe.

SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';

Wynik:

+------------------------------------+
| Result                             |
+------------------------------------+
| {"City": "", "Population": 139693} |
+------------------------------------+

Dotyczy to również klucza:

SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';

Wynik:

+--------------------------------------+
| Result                               |
+--------------------------------------+
| {"": "Cairns", "Population": 139693} |
+--------------------------------------+

Przykład 3 – Puste listy

Obowiązują również puste listy. Spowoduje to powstanie pustego obiektu JSON.

SELECT JSON_OBJECT() AS 'Result';

Wynik:

+--------+
| Result |
+--------+
| {}     |
+--------+

Przykład 4 – wartości NULL

Wartość część pary klucz/wartość może zawierać wartości NULL.

SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';

Wynik:

+----------------------------------------+
| Result                                 |
+----------------------------------------+
| {"City": "Cairns", "Population": null} |
+----------------------------------------+

Ale klucz część nie może zawierać wartości NULL. Jeśli klucz ma wartość NULL, wystąpi błąd.

SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';

Wynik:

ERROR 3158 (22032): JSON documents may not contain NULL member names.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalacja MySQL:BŁĄD:Nie udało się zbudować natywnego rozszerzenia gem

  2. Jak wyświetlić błędy dla mojego zapytania MySQLi?

  3. MySQL - czy mogę ograniczyć maksymalny czas wykonania zapytania?

  4. PlanetScale &Vitess:Integralność referencyjna ze starszymi bazami danych podzielonych na fragmenty

  5. mysql, iteruj przez nazwy kolumn