在hive执行select from_unixtime(cast('1679546406051' as bigint),'yyyyMMdd')的结果是551920915,不是我想要的年月日,怎么样能得到正确的年月日
时间: 2024-05-10 21:21:04 浏览: 127
在执行select from_unixtime(cast('1679546406051' as bigint),'yyyyMMdd')时,结果为551920915,这是因为时间戳的单位是毫秒,而from_unixtime函数的参数是秒数。因此,正确的做法是将毫秒转换为秒,然后再进行格式化。可以使用以下语句来得到正确的年月日:
```
select from_unixtime(cast('1679546406.051' as double),'yyyyMMdd');
```
结果为:20220722
注意:在将毫秒转换为秒时,需要将毫秒数除以1000得到秒数,并将结果转换为double类型。
阅读全文