select to_date('13/03/17 05:43:29,000000000 PM -05:00DD/MM/YY HH24:MI:SS') from
irregularities;
如何将此日期转换为24小时格式?
答案 0 :(得分:0)
您可以使用以下命令将字符串转换为带有时区的时间戳:
select to_timestamp_tz('13/03/17 05:43:29,000000000 PM -05:00',
'DD/MM/RR HH:MI:SS,FF9 AM TZH:TZM')
from dual;
如果只需要日期数据类型,则可以强制转换:
select cast(
to_timestamp_tz('13/03/17 05:43:29,000000000 PM -05:00',
'DD/MM/RR HH:MI:SS,FF9 AM TZH:TZM')
as date)
from dual;
如果您真的只想要字符串版本,则可以将其转换回去,通常只用于显示:
select to_date(
to_timestamp_tz('13/03/17 05:43:29,000000000 PM -05:00',
'DD/MM/RR HH:MI:SS,FF9 AM TZH:TZM'),
'DD/MM/YYYY HH24:MI:SS')
from dual;
如果原始字符串来自表,则只需将文本文字替换为列名,并将dual
替换为表名。当然,这假定该列实际上是一个字符串。如果它实际上已经是一个时间戳,并且您的客户端只是以您不喜欢的方式显示它,则只需要to_char()
部分。
在文档中详细了解以下内容:to_timestamp_tz
,format models,cast()
和to_char()
。