这在这里可能不是一个讨人喜欢的问题,但是我需要了解是否有人对如果在蜂巢中使用to_date函数而不是分别计算年,月,日,会产生什么区别。我得到了不同的结果。
select col1, col2, col3, count(*)
from tableName
where to_date(date_col) = '2019-01-01'
group by col1, col2, col3
having count(*) > 1
order by col1
上面的sql给了我重复项。
但是,当我使用具有以下修改的相同查询时,却没有任何帮助。
select col1, col2, col3, count(*)
from tableName
where year(date_col) = '2019' and month(date_col) = '01'
and day(date_col) = '01'
group by col1, col2, col3
having count(*) > 1
order by col1
我想到to_date函数期望列中的值的格式为“ yyyy-mm-dd hh:mm:ss”,因此理想情况下,我们应该将to_date函数与FROM_UNIXTIMESTAMP(UNIX_TIMESTAMP(col,'format'))
一起使用
但是我不明白为什么会这样。
知道为什么吗?以及to_date是否给我错误的结果?