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