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

MariaDB JSON_UNQUOTE() Objaśnienie

W MariaDB, JSON_UNQUOTE() to wbudowana funkcja, która usuwa cudzysłowy z wartości JSON. Innymi słowy, „usuwa cytat” z wartości JSON.

Składnia

Składnia wygląda tak:

JSON_UNQUOTE(val)

Przykład

Oto przykład do zademonstrowania.

SELECT JSON_UNQUOTE('"Eggs"');

Wynik:

+------------------------+
| JSON_UNQUOTE('"Eggs"') |
+------------------------+
| Eggs                   |
+------------------------+

Znaki ucieczki

Jeśli wartość zawiera znak odwrotnego ukośnika (\ ), jest zwykle ignorowana. Jednak niektóre sekwencje zawierające ukośnik odwrotny mogą mieć specjalne znaczenie i mogą wpływać na wynik JSON_UNQUOTE() .

Będzie to zależeć od tego, czy tryb SQL jest ustawiony na NO_BACKSLASH_ESCAPES . Gdy tryb SQL jest ustawiony na NO_BACKSLASH_ESCAPES , wyłącza to używanie znaku odwrotnego ukośnika jako znaku zmiany znaczenia w łańcuchach, co czyni go równoważnym ze zwykłym znakiem.

W przeciwnym razie poniższe sekwencje będą prawdziwe:

Sekwencja ucieczki Znak
\" Podwójny cytat (" )
\b Odwrotny ukośnik
\f Formularz
\n Nowy wiersz (znak nowego wiersza)
\r Zwrot karetki
\t Karta
\\ Ukośnik odwrotny (\ )
\uXXXX UTF-8 bajtów dla wartości Unicode XXXX

Przykład:

SELECT JSON_UNQUOTE('Feeling\tGood');

Wynik:

+-------------------------------+
| JSON_UNQUOTE('Feeling\tGood') |
+-------------------------------+
| Feeling	Good                  |
+-------------------------------+

Tutaj użyłem \t sekwencja, aby dodać znak tabulacji w ciągu.

Jeśli ustawię tryb SQL na NO_BACKSLASH_ESCAPES , sekwencja nie ma specjalnego znaczenia, a sekwencja dosłowna jest dołączana do wyniku bez interpretacji:

SET @@sql_mode = 'NO_BACKSLASH_ESCAPES';

SELECT JSON_UNQUOTE('Feeling\tGood');

Wynik:

+-------------------------------+
| JSON_UNQUOTE('Feeling\tGood') |
+-------------------------------+
| Feeling\tGood                 |
+-------------------------------+

Argumenty zerowe

Jeśli argumentem jest NULL , wynik to NULL :

SELECT JSON_UNQUOTE(null);

Wynik:

+--------------------+
| JSON_UNQUOTE(null) |
+--------------------+
| NULL               |
+--------------------+

Nieprawidłowa liczba parametrów

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

SELECT JSON_UNQUOTE();

Wynik:

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

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

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

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Niestandardowe wykresy do monitorowania systemów MySQL, MariaDB, MongoDB i PostgreSQL — porady i wskazówki dotyczące ClusterControl

  2. Galera Cluster Recovery 101 — głębsze spojrzenie na partycjonowanie sieci

  3. Monitorowanie wydajności MariaDB w chmurze hybrydowej

  4. 3 sposoby na uzyskanie nazwy miesiąca z daty w MariaDB

  5. MariaDB CHARACTER_LENGTH() Objaśnienie