mysql 字段为 json [1,2] 使用JSON_CONTAINS查询不等于3
时间: 2024-04-10 22:33:58 浏览: 18
您可以使用以下查询来查找不包含值为3的json字段:
```sql
SELECT *
FROM your_table
WHERE NOT JSON_CONTAINS(your_column, '3');
```
这将返回不包含值为3的json字段的所有行。请将"your_table"替换为您的表名,"your_column"替换为您的列名。
相关问题
mysql json 字段 查询使用
引用\[1\]中提供了一些关于MySQL中使用JSON字段进行查询的示例代码。其中,可以使用json_extract函数来查询JSON字段中的特定值,使用json_contains函数来判断JSON字段是否包含某个值。另外,还可以使用JSON_REPLACE函数来更新JSON字段的值。需要注意的是,如果字段不存在,则返回null;如果JSON字段中的值为null,则返回字符串"null"。在引用\[2\]中也提供了一些使用对象类型和数组类型进行查询的示例代码。例如,可以使用JSON_UNQUOTE和JSON_EXTRACT函数来查询对象类型的字段,使用JSON_CONTAINS函数来判断数组类型的字段是否包含某个值。在引用\[3\]中提供了一个JsonVo对象的示例,可以使用该对象来映射JSON字段的结构。综上所述,可以根据具体的需求使用MySQL提供的相关函数和对象来进行JSON字段的查询操作。
#### 引用[.reference_title]
- *1* [mysql 查询json字段](https://blog.csdn.net/zk_jy520/article/details/126028017)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [mybatis mysql json 字段查询操作](https://blog.csdn.net/weixin_44604118/article/details/128252131)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [MySQL JSON字段使用](https://blog.csdn.net/nics1993/article/details/125597245)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
mysql字段类型为json
MySQL中字段类型为JSON的查询方式有两种。第一种是字段内容为JSON对象,第二种是字段内容为JSON数组。
对于第一种情况,可以使用以下SQL语法格式进行查询:
```
SELECT * FROM 表名称 WHERE json字段名称->'$.json内容的某个key' LIKE(条件符,可使用=、LIKE等) "值";
```
例如:
```
SELECT * FROM approval_detail WHERE history->'$.note' = "11";```
或者:
```
SELECT * FROM approval_detail WHERE history->'$.note' LIKE "11%";
```
对于第二种情况,字段内容为JSON数组,可以使用以下SQL语法格式进行查询:
```
SELECT * FROM 表名称 WHERE JSON_CONTAINS(json字段名称,JSON_OBJECT('json数组中对象的key', "值"));
```
例如:
```
SELECT * FROM approval_detail WHERE JSON_CONTAINS(history,JSON_OBJECT('note', "不同意"));
```
目前我没有找到支持模糊查询的语法,如果您知道,请指教。