아래에 사용할 수 있습 코드입니다. 불행하게도,impala 없 pm 변환 능력,하지만 당신은 약간을 사용할 수 있는 코드를 식별하는 오후 12 시간을 추가하는 변환합니다.
select
if (right('31-Oct-2016 02:09 PM',2)='PM',
to_timestamp('31-Oct-2016 02:09 PM','d-MMM-yyyy H:m') + interval 12 hours,
to_timestamp('31-Oct-2016 02:09 PM','d-MMM-yyyy H:m')
) ampm_timestamp
두 번째 요구사항
임팔라 항상 예 24 시간 형식으로 변환할 때 날짜/시간입니다. 그래서,당신의 경우 오전 12 시,우리가 해야 할 일부 특별한 논리는 아래와 같다.
먼저 확인하는 경우 12AM,다이너스 12 시간,다른 사람을 확인하면 그동을 추가,12 시간(를 커버하는 오후 12 시나리오)및 마지막으로는 경우 그 다른 AM,그것은 단순히 변환하여 타임 스탬프.
select
CASE WHEN right('31-Oct-2016 12:09 AM',2)='AM' AND RIGHT( SPLIT_PART('31-Oct-2016 12:09 AM',':',1),2)='12'
THEN to_timestamp('31-Oct-2016 12:09 AM','d-MMM-yyyy HH:mm') - interval 12 HOURS
ELSE CASE WHEN right('31-Oct-2016 12:09 AM',2)='PM'
THEN to_timestamp('31-Oct-2016 12:09 AM','d-MMM-yyyy HH:mm') + interval 12 HOURS
ELSE to_timestamp('31-Oct-2016 12:09 AM','d-MMM-yyyy HH:mm')
END END AMPM_TIMESTAMP