我正在使用Hive(类似于SQL,但SQL用户的语法可能略有不同).我查看了另一个stackoverflow,但它们似乎在SQL中使用不同的语法.
我试图通过这个查询获得该月的第一天.这个给了我今天的一天.例如,如果今天是2015-04-30,那么结果将是2015-04-01.谢谢!
select
cust_id,
FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd') as first_day_of_month_transaction
--DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) as first_day_of_month_transaction --SQL format. Not compatible in Hive.
from
customers;
Run Code Online (Sandbox Code Playgroud)
要获得该月的第一天,您可以使用:
date_add(<date>,
1 - day(<date>) )
Run Code Online (Sandbox Code Playgroud)
适用于你的表达:
date_add(FROM_UNIXTIME(UNIX_TIMESTAMP(), 'yyyy-MM-dd'),
1 - day(FROM_UNIXTIME(UNIX_TIMESTAMP(), 'yyyy-MM-dd'))
)
Run Code Online (Sandbox Code Playgroud)
但这适用于任何正确格式的列.
| 归档时间: |
|
| 查看次数: |
13394 次 |
| 最近记录: |