我有一个 JSON 格式的 SQL 列,看起来像data->'$.name'
,我想问一下是否可以对该列进行忽略大小写,例如
UPPER(data->'$.name')
.
例子:
select * from TYPE_hugo_DATA WHERE UPPER(data->'$.name') = UPPER('hugo');
我有一个 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');