2016-08-25 47 views
1

我有一個JSON格式的SQL列,它看起來像data->'$.name',我想問一下是否可以對此列做一個Ignore Case,如 UPPER(data->'$.name')SQL JSON列(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');