MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

MariaDB JSON_QUOTE() Objaśnienie

W MariaDB, JSON_QUOTE() to wbudowana funkcja, która tworzy prawidłowy literał ciągu JSON, który można dołączyć do dokumentu JSON.

Zawija łańcuch znakami podwójnego cudzysłowu i omija wewnętrzne cudzysłowy i inne znaki specjalne, zwracając łańcuch utf8mb4.

Składnia

Składnia wygląda tak:

JSON_QUOTE(json_value)

Przykład

Oto przykład do zademonstrowania.

SELECT JSON_QUOTE('Small') AS 'Result';

Wynik:

+---------+
| Result  |
+---------+
| "Small" |
+---------+

Znaki ucieczki

Oprócz zawijania ciągu w podwójne cudzysłowy, JSON_QUOTE() unika również wewnętrznych cytatów i innych znaków specjalnych.

Przykład:

SELECT JSON_QUOTE('By "small", she meant "tiny"') AS 'Result';

Wynik:

+------------------------------------+
| Result                             |
+------------------------------------+
| "By \"small\", she meant \"tiny\"" |
+------------------------------------+

W tym przypadku oryginalny ciąg zawiera podwójne cudzysłowy, a wynikowy ciąg jest wyprowadzany z każdego podwójnego cudzysłowu ukośnikiem odwrotnym.

Jeśli podwójne cudzysłowy nie zostałyby ominięte, kolidowałyby z zewnętrznymi podwójnymi cudzysłowami i niechcący kończą wcześniej ciąg.

Obiekty JSON

Oto przykład cytowania ciągu reprezentującego obiekt JSON:

SELECT JSON_QUOTE('{ "name": "Brandy"}');

Wynik:

+-----------------------------------+
| JSON_QUOTE('{ "name": "Brandy"}') |
+-----------------------------------+
| "{ \"name\": \"Brandy\"}"         |
+-----------------------------------+

Tablice

Oto przykład cytowania ciągu reprezentującego tablicę:

SELECT JSON_QUOTE('[ "Small", "Medium", "Large" ]');

Wynik:

+----------------------------------------------+
| JSON_QUOTE('[ "Small", "Medium", "Large" ]') |
+----------------------------------------------+
| "[ \"Small\", \"Medium\", \"Large\" ]"       |
+----------------------------------------------+

Liczby

Przekazanie liczby zwraca NULL :

SELECT JSON_QUOTE(10) AS 'Result';

Wynik:

+--------+
| Result |
+--------+
| NULL   |
+--------+

Numer musiałby być podany w postaci ciągu. Następnie zostanie zwrócony jako ciąg w cudzysłowie.

Przykład:

SELECT JSON_QUOTE('10') AS 'Result';

Wynik:

+--------+
| Result |
+--------+
| "10"   |
+--------+

Argumenty zerowe

Jeśli argumentem jest NULL , wynik to NULL :

SELECT JSON_QUOTE(null);

Wynik:

+------------------+
| JSON_QUOTE(null) |
+------------------+
| NULL             |
+------------------+

Nieprawidłowa liczba parametrów

Wywołanie JSON_QUOTE() bez argumentu powoduje błąd:

SELECT JSON_QUOTE();

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_QUOTE'

Tak samo jest, gdy podajesz zbyt wiele argumentów:

SELECT JSON_QUOTE('a', 'b');

Wynik:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_QUOTE'

Więcej przykładów

MariaDB JSON_QUOTE() działa tak samo jak funkcja MySQL o tej samej nazwie. Zobacz JSON_QUOTE() – Jak uciec od znaków w ciągach używanych jako wartości JSON w MySQL, aby uzyskać więcej przykładów.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa SOUNDEX() w MariaDB

  2. 4 sposoby na znalezienie wierszy zawierających małe litery w MariaDB

  3. Historie transformacji na konferencji MariaDB OpenWorks

  4. Jak przeprowadzić migrację bazy danych WHMCS do klastra MariaDB Galera

  5. Co nowego w MariaDB 10.4