SQL JSON列(IgnoreCase)

时间:2016-08-25 11:17:15

标签: java mysql sql json mysql-json

我有一个JSON格式的SQL列,它看起来像data->'$.name',我想问一下是否可以像这样对这个列做一个Ignore Case UPPER(data->'$.name')

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

1 个答案:

答案 0 :(得分: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');