我有一个JSON格式的SQL列,看起来像data->'$.name'
,我想问是否有可能对这个列做一个忽略大小写UPPER(data->'$.name')
.
的例子:select * from TYPE_hugo_DATA WHERE UPPER(data->'$.name') = UPPER('hugo');
问题是您对包含引号("
)的原始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');