DATE_FORMAT里面是JSON_EXTRACT查不出数据
时间: 2023-08-05 20:09:46 浏览: 55
如果你使用`DATE_FORMAT`函数和`JSON_EXTRACT`函数组合查询时查不出数据,可能有以下几种情况:
1. `JSON_EXTRACT`函数提取的日期格式不是`YYYY-MM-DD`,导致日期转换失败,可以尝试查看`JSON_EXTRACT`函数提取的日期格式。
2. `DATE_FORMAT`函数格式化的日期格式与`JSON_EXTRACT`函数提取的日期格式不一致,导致查询失败。例如,如果`JSON_EXTRACT`函数提取的日期格式为`YYYY/MM/DD`,则可以使用以下语句进行查询:
```
SELECT * FROM table WHERE DATE_FORMAT(str_to_date(JSON_EXTRACT(json_col, '$.date'), '%Y/%m/%d'), '%Y-%m-%d') = '2021-11-01';
```
在这个语句中,`JSON_EXTRACT`函数提取的日期格式为`%Y/%m/%d`,`str_to_date`函数将提取的日期字符串转换为日期类型,`DATE_FORMAT`函数将日期格式化为`%Y-%m-%d`格式,用于和查询条件进行比较。
以上是一些可能导致查询失败的原因,你可以根据实际情况进行调整。
相关问题
MYSQL中JSON_EXTRACT和DATE_FORMAT组合
可以使用JSON_EXTRACT函数从JSON格式的日期数据中提取日期,然后使用DATE_FORMAT将其格式化为所需的日期格式。例如:
```
SELECT DATE_FORMAT(JSON_EXTRACT('{"date": "2021-11-01"}', '$.date'), '%Y-%m-%d');
```
这将从JSON字符串中提取日期,并将其格式化为YYYY-MM-DD格式的日期。
hive中date_format函数返回的是什么数据类型
Hive中的date_format函数返回的是字符串类型。此函数用于将日期类型的数据格式化为指定的日期格式,并返回一个字符串表示该日期。例如,可以使用以下语句将一个日期格式化为年-月-日的形式:
```
SELECT date_format('2021-01-01', 'yyyy-MM-dd');
```
该语句返回的结果为字符串类型的“2021-01-01”。