【发布时间】:2015-04-30 17:47:38
【问题描述】:
我使用的是 Hive,因此 SQL 语法可能略有不同。如何获取上个月的数据?例如,如果今天是 2015-04-30,我需要 201503 这种格式的 3 月的数据吗?谢谢!
select
employee_id, hours,
previous_month_date--YYYYMM,
from
employees
where
previous_month_date = cast(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd') as int)
【问题讨论】:
-
另一个可能的想法,我附加到 where 子句。但是它适用于当月,但不适用于上个月。此外,添加 0 仅对 01、02、03...等 1 位数的月份有帮助,我认为第 10、11、12...等月份显示为 010、011、012。我试图避免这种情况: cast(concat(year(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd')), 0,month(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd'))) as int);
-
如果日期是
2015-07-31会发生什么。没有 6 月 31 日