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

JSON_TYPE() – Вземете типа на стойността на JSON в MySQL

В MySQL, JSON_TYPE() функцията връща типа на JSON стойност. По-конкретно, той връща utf8mb4 низ, указващ типа на стойността.

Вие предоставяте стойността на JSON като аргумент.

Синтаксис

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

JSON_TYPE(json_val)

Където json_val е стойността на JSON, за която да се върне типа. Това може да бъде обект, масив или скаларен тип.

Пример 1 – Обект

Ето пример, когато стойността е обект.

SET @data = '{"Name": "Homer", "Stupid": true}';
SELECT JSON_TYPE(@data) 'JSON Type';

Резултат:

+-----------+
| JSON Type |
+-----------+
| OBJECT    |
+-----------+

Пример 2 – Масив

Ето пример за масив.

SET @data = '[1, 2, 3]';
SELECT JSON_TYPE(@data) 'JSON Type';

Резултат:

+-----------+
| JSON Type |
+-----------+
| ARRAY     |
+-----------+

Пример 3 – Извличане на данни от масив

Можете също да получите вида на отделните елементи в масива.

SET @data = '[1, 2, 3]';
SELECT 
  JSON_EXTRACT(@data, '$[1]') 'Data',
  JSON_TYPE(JSON_EXTRACT(@data, '$[1]')) 'JSON Type';

Резултат:

+------+-----------+
| Data | JSON Type |
+------+-----------+
| 2    | INTEGER   |
+------+-----------+

Пример 4 – Извличане на данни от обект

Същото важи и за членовете на обект.

SET @data = '{"Name": "Homer", "Stupid": "True"}';
SELECT 
  JSON_EXTRACT(@data, '$.Stupid') 'Data',
  JSON_TYPE(JSON_EXTRACT(@data, '$.Stupid')) 'JSON Type';

Резултат:

+--------+-----------+
| Data   | JSON Type |
+--------+-----------+
| "True" | STRING    |
+--------+-----------+

В този случай стойността беше низовият литерал "True" .

Ето още един пример, но този път с помощта на булева стойност true .

SET @data = '{"Name": "Homer", "Stupid": true}';
SELECT 
  JSON_EXTRACT(@data, '$.Stupid') 'Data',
  JSON_TYPE(JSON_EXTRACT(@data, '$.Stupid')) 'JSON Type';

Резултат:

+------+-----------+
| Data | JSON Type |
+------+-----------+
| true | BOOLEAN   |
+------+-----------+

Пример 5 – Заявка към база данни

Този пример използва колона на база данни.

SELECT 
  Contents,
  JSON_TYPE(Contents) 'Contents',
  JSON_TYPE(JSON_EXTRACT(Contents, '$.Name')) 'Name'
FROM Collections 
WHERE CollectionId = 4;

Резултат:

+--------------------------------+----------+--------+
| Contents                       | Contents | Name   |
+--------------------------------+----------+--------+
| {"Name": "Homer", "Stupid": 1} | OBJECT   | STRING |
+--------------------------------+----------+--------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете разлика в годините между две дати в MySQL като цяло число

  2. Wordpress Фатална грешка:Неуловена грешка:Извикване на недефинирана функция mysql_connect() в /wp-includes/wp-db.php:1570

  3. Не можете да посочите целева таблица за актуализиране в клаузата FROM

  4. колона за актуализиране на mysql със стойност от друга таблица

  5. JSON_REMOVE() – Премахване на данни от JSON документ в MySQL