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

MariaDB JSON_UNQUOTE() Обяснено

В MariaDB, JSON_UNQUOTE() е вградена функция, която премахва кавички от JSON стойност. С други думи, той „отменя кавички“ JSON стойност.

Синтаксис

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

JSON_UNQUOTE(val)

Пример

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

SELECT JSON_UNQUOTE('"Eggs"');

Резултат:

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

Escape символи

Ако стойността съдържа обратна наклонена черта (\ ), обикновено се игнорира. Въпреки това, някои последователности, включващи обратната наклонена черта, могат да имат специално значение и могат да повлияят на резултата от JSON_UNQUOTE() .

Това ще зависи от това дали режимът на SQL е настроен на NO_BACKSLASH_ESCAPES . Когато режимът на SQL е настроен на NO_BACKSLASH_ESCAPES , това деактивира използването на обратната наклонена черта като escape знак в низовете, което го прави еквивалентен на обикновен знак.

В противен случай следните последователности ще са верни:

Изходна последователност Характер
\" Двойни кавички (" )
\b Обратна наклонена черта
\f Подаване на формуляр
\n Нов ред (повеждане на ред)
\r Връщане на карета
\t Раздел
\\ Обратна наклонена черта (\ )
\uXXXX UTF-8 байта за Unicode стойност XXXX

Пример:

SELECT JSON_UNQUOTE('Feeling\tGood');

Резултат:

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

Тук използвах \t последователност, за да добавите знак за табулация в низа.

Ако задам режима на SQL на NO_BACKSLASH_ESCAPES , последователността няма специално значение и буквалната последователност е включена в изхода без интерпретация:

SET @@sql_mode = 'NO_BACKSLASH_ESCAPES';

SELECT JSON_UNQUOTE('Feeling\tGood');

Резултат:

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

Нулеви аргументи

Ако аргументът е NULL , резултатът е NULL :

SELECT JSON_UNQUOTE(null);

Резултат:

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

Неправилен брой параметри

Извикване на JSON_UNQUOTE() без аргумент води до грешка:

SELECT JSON_UNQUOTE();

Резултат:

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

Същото е, когато предоставите твърде много аргументи:

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

Резултат:

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. 4 функции, които извличат микросекунди от времева стойност в MariaDB

  2. Миграция на мрежа с нулев престой с MySQL Galera Cluster с помощта на релеен възел

  3. Изпълняване на заявки за анализ на големи данни с помощта на SQL и Presto

  4. 4 начина да получите съпоставяне на база данни в MariaDB

  5. MariaDB Server 10.0.33 вече е наличен