java - SQL JSON 列(忽略大小写)

标签 java mysql sql json mysql-json

我有一个 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');

关于java - SQL JSON 列(忽略大小写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39143824/

相关文章:

javascript - 在nodejs中运行cron作业

mysql - 无法发现这两个查询之间的区别

java - 匿名类方法中的变量可见性

java - java中if比较的长列表

mysql - 使用查询数据构建 sql 查询

mysql - mySQL中按表达式排序

mysql - 选择另一个属性具有最大值的属性

sql - 函数中是否可以有临时表?

java - 如何仅从 url 获取 YouTube 视频的标题?

java - GWT/ eclipse : ClassNotFoundException com/google/gwt/dev/Compiler