2016-08-25 2 views
1

У меня есть столбец SQL в формате JSON, который выглядит как data->'$.name', и я хотел спросить, можно ли сделать Игнорировать дело в этом столбце, как UPPER(data->'$.name').SQL JSON Column (IgnoreCase)

Пример: select * from TYPE_hugo_DATA WHERE UPPER(data->'$.name') = UPPER('hugo');

+0

Вы используете Postgres? –

ответ

2

Вопрос заключается в том, что вы делаете на равных необработанного значения JSON, который содержит кавычки (").

Если вы хотите, чтобы получить значение JSon без кавычек вы можете сделать ->> является короткий синтаксис для JSON_UNQUOTE(JSON_EXTRACT()):

select * from TYPE_hugo_DATA WHERE UPPER(data->>'$.name') = UPPER('hugo'); 

или

select * from TYPE_hugo_DATA WHERE JSON_UNQUOTE(JSON_EXTRACT(data, '$.name')) = UPPER('hugo');