【问题标题】:SQL JSON Column (IgnoreCase)SQL JSON 列(忽略大小写)
【发布时间】:2017-01-01 19:11:50
【问题描述】:

我有一个 JSON 格式的 SQL 列,看起来像 data->'$.name',我想问一下是否可以对此列进行忽略大小写,例如 UPPER(data->'$.name').

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

【问题讨论】:

  • 你在使用 Postgres 吗?

标签: java mysql sql json mysql-json


【解决方案1】:

问题是您对包含引号的原始 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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 2014-02-08
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多