powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как извлечь JSON-данные из строки?
3 сообщений из 3, страница 1 из 1
Как извлечь JSON-данные из строки?
    #39611227
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице есть поле с типом TEXT, в котором содержаться примерно такие данные:
Код: plaintext
{"ID":250,"TYPER":1,"BRAND":"SNR","MODEL":"S2960-48G","PORT":48,"MANAGED":1,"FDBTYPER":3}
Мне нужно получить значение атрибута BRAND.
Пишу так: select cast(`metadata` as JSON)->"$.BRAND"
Но получаю ошибку синтаксиса.
Пробовал написать так:
Код: plaintext
json_extract(`metadata`, '$.BRAND')
Но получаю сообщение о несуществующей версии (версия СУБД MariaDB 10.0.32).
...
Рейтинг: 0 / 0
Как извлечь JSON-данные из строки?
    #39611246
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.19-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create table test(txt text);
Query OK, 0 rows affected (0.20 sec)

mysql> insert into test select '{"ID":250,"TYPER":1,"BRAND":"SNR","MODEL":"S2960-48G","PORT":48,"MANAGED":1,"FDBTYPER":3}';
Query OK, 1 row affected (0.03 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> insert into test select '{"ID":255,"TYPER":2,"BRAND":"qwe","MODEL":"S2960-12G","PORT":25,"MANAGED":0,"FDBTYPER":2}';
Query OK, 1 row affected (0.02 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> SELECT JSON_EXTRACT(CAST(txt AS JSON), '$.BRAND') FROM test;
+--------------------------------------------+
| JSON_EXTRACT(CAST(txt AS JSON), '$.BRAND') |
+--------------------------------------------+
| "SNR"                                      |
| "qwe"                                      |
+--------------------------------------------+
2 rows in set (0.09 sec)

mysql> SELECT txt->"$.BRAND" FROM test;
+----------------+
| txt->"$.BRAND" |
+----------------+
| "SNR"          |
| "qwe"          |
+----------------+
2 rows in set (0.05 sec)

mysql>
...
Рейтинг: 0 / 0
Как извлечь JSON-данные из строки?
    #39611273
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо без обновления никак.
Жаль.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как извлечь JSON-данные из строки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]