Sql 从日期提取日期和月份时,如何保持前导零

Sql 从日期提取日期和月份时,如何保持前导零,sql,hive,Sql,Hive,我有些约会看起来很有趣 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 如何保持前导零 concat(LPAD(day(PLAN_REPAYMENT_DATE_KEY), 2, '0'), '.

我有些约会看起来很有趣

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
如何保持前导零

concat(LPAD(day(PLAN_REPAYMENT_DATE_KEY), 2, '0'), '.', LPAD(MONTH(PLAN_REPAYMENT_DATE_KEY), 2, '0'))
编辑:当天也添加了LPAD

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))




这一天也应该如此padded@DuduMarkovitz没错;)
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