提取日期和月份的時候前導零我有日期,看起來如此如何保持從日期
2017-02-22
2017-02-23
2017-02-05
我需要在這個格式dd.mm提取日期,所以它看起來是那麼
23.02
22.02
05.02
但這
concat(day(PLAN_REPAYMENT_DATE_KEY), '.', month(PLAN_REPAYMENT_DATE_KEY))
回報
23.2
22.2
5.2
如何保持前導零?
提取日期和月份的時候前導零我有日期,看起來如此如何保持從日期
2017-02-22
2017-02-23
2017-02-05
我需要在這個格式dd.mm提取日期,所以它看起來是那麼
23.02
22.02
05.02
但這
concat(day(PLAN_REPAYMENT_DATE_KEY), '.', month(PLAN_REPAYMENT_DATE_KEY))
回報
23.2
22.2
5.2
如何保持前導零?
1. date_format(PLAN_REPAYMENT_DATE_KEY,'dd.MM')
2. from_unixtime(unix_timestamp(PLAN_REPAYMENT_DATE_KEY),'dd.MM')
3. printf('%02d.%02d',day(PLAN_REPAYMENT_DATE_KEY),month(PLAN_REPAYMENT_DATE_KEY))
hive> with t as (select date '2017-02-05' as PLAN_REPAYMENT_DATE_KEY)
> select date_format(PLAN_REPAYMENT_DATE_KEY,'dd.MM') from t;
OK
05.02
hive> with t as (select date '2017-02-05' as PLAN_REPAYMENT_DATE_KEY)
> select from_unixtime(unix_timestamp(PLAN_REPAYMENT_DATE_KEY),'dd.MM') from t;
OK
05.02
hive> with t as (select date '2017-02-05' as PLAN_REPAYMENT_DATE_KEY)
> select printf('%02d.%02d',day(PLAN_REPAYMENT_DATE_KEY),month(PLAN_REPAYMENT_DATE_KEY)) from t;
OK
05.02
concat(LPAD(day(PLAN_REPAYMENT_DATE_KEY), 2, '0'), '.', LPAD(MONTH(PLAN_REPAYMENT_DATE_KEY), 2, '0'))
編輯:添加LPAD到一天。
這一天也應該被填充 –
@DuduMarkovitz這是真的; ) – Whencesoever
添加了date_format(自Hive 1.2.0起) –