我想转换以下字符串到datetime格式:找不到好日期格式:不可能解析
Sat Jan 14 13:55:34 CET 2017
如果我们考虑到我的日期是在in_OutPut3
变量,我想要使用以下格式模式:
TO_DATE(in_OutPut3,'DY MON DD HH:MI:SS Z YYYY')
我收到以下错误:
系统未能解析日期格式:'DY MON DD HH:MI:SS Z YYYY'。
你知道这是什么日期格式吗?
我想转换以下字符串到datetime格式:找不到好日期格式:不可能解析
Sat Jan 14 13:55:34 CET 2017
如果我们考虑到我的日期是在in_OutPut3
变量,我想要使用以下格式模式:
TO_DATE(in_OutPut3,'DY MON DD HH:MI:SS Z YYYY')
我收到以下错误:
系统未能解析日期格式:'DY MON DD HH:MI:SS Z YYYY'。
你知道这是什么日期格式吗?
这一个为我工作:
to_timestamp('Sat Jan 14 13:55:34 CET 2017','Dy Mon dd hh:mi:ss ZZ yyyy');
马尔科
可能是在NLS中设置差异的一些问题,但上述内容对我而言并不适用于11g。 – BriteSponge
你必须嵌入在字符串中使用的TO_TIMESTAMP_TZ功能,所以尝试了时区。 TO_DATE不适用于时区。
以下是关于11g的作品;
select to_timestamp_tz('Sat Jan 14 13:55:34 CET 2017','DY MON DD HH24:MI:SS TZR YYYY') from dual
我也曾作为答案,但删除了它;这个问题似乎是关于Informatica的,它是自己的'to_date'函数,而不是Oracle的RDBMS'to_date'函数。时区的“Z”格式似乎适用于Informatica。 –
你可能是对的。 。 。我的Informatica知识已近10年过时! – BriteSponge
在转换为Informatica日期类型时,您可以忽略时区。无论如何,Informatica在转换为Data数据类型后不会保留时区信息。放一些符号像下划线(_)匹配'CET'
TO_DATE(in_OutPut3, 'DY MON DD HH24:MI:SS ___ YYYY')
另外,看起来像你有小时的军事格式。在这种情况下,你必须使用HH24。
你的错误说格式是DY MON ** MM ** HH:MI:SS Z YYYY但你声称你的代码是DY MON ** DD ** HH:MI:SS Z YYYY。这些中的任何一个都不是字面意义上的代码,或者您错误地识别了错误位置。 (更不用说指定'MON'和'MM'的格式会非常奇怪) –
你是对的,我改变了代码而不是错误。我的错误我纠正了这个帖子。 –
您是否指的是Oracle函数来转换日期或Informatica函数? – BriteSponge