SQL JSON 列(忽略大小写)
SQL JSON Column (IgnoreCase)
我有一个 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');
我有一个 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');