如何在plsql中将8pm转换为20小时?

时间:2019-02-08 10:21:26

标签: datetime plsql

有人可以帮我转换08-MAR-16 08.15.41.000000 PM,所以我需要08-MAR-16 20.15.41.000000吗?

1 个答案:

答案 0 :(得分:0)

要获取答案,您必须先使用适当的格式模型将字符串转换为日期(或者,如果存在时间戳,则为时间戳),然后将其转换为如果绝对必须使用适合于输出的格式模型的字符串,则:

to_char(to_timestamp(<date_str>, <string date format>), <output date format>)

这意味着您的情况将是:

to_char(to_timestamp('08-MAR-16 08.15.41.000000 PM', 'dd-MON-rr hh.mi.ss.ff6 AM'),'dd-MON-yy hh24:mi:ss.ff6')

我会高度建议您避免使用两位数的年份。我们进行了Y2K测试,以避免猜测您所谈论的年份。是2016年吗? 1916年? 2116?等。请尽量避免让Oracle猜测您的意思,例如:

to_char(to_timestamp('08-MAR-2016 08.15.41.000000 PM', 'dd-MON-yyyy hh.mi.ss.ff6 AM'),'dd-MON-yyyy hh24:mi:ss.ff6')