คุณสามารถใช้ด้านล่างนี้เป็นรหัสมอส โชคร้ายที่ถเชฟอิมพาลานไม่ต้องเป็น pm การแปลงทางแต่คุณสามารถใช้เป็นรหัสที่จะระบุตัว 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
ที่สองสำคัญที่สุ-
ถเชฟอิมพาลาเสมอคาดหวังให้ 24hour ชั่วโมงรูปแบบตอนที่มัน converts datetime. ดังนั้นในคดีของคุณสำหรับ 12 คนเป็นสถานการณ์เราต้องทำบางอย่างพิเศษตรรกะเช่นที่ด้านล่างนี้
คนแรกตรวจสอบว่ามัน 12 คนเป็นงั้นลบ 12 ชั่วโมงอื่นโปรดตรวจสอบว่ามัน PM งั้นเพิ่มเวลา 12 ชั่วโมง(ซึ่งปลอมตั 12PM สถานการณ์)และในที่สุดถ้ามันอะไรกันมันเพียง converts เพื่อนทึกเวลา.
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