2015-01-13 49 views
0

我有一个像'2013年7月18日11时06分23秒'' '字符串我想显示它像'07/18/2013 11:06:23 AM' 我尝试要使用To_date函数(oracle函数)来转换它,但是我得到了错误。 请帮帮我!如何将字符串转换为日期时间

+1

你试过什么,你得到了什么错误 – Exhausted

+0

我写了TO_DATE(myString,'MM/DD/YYYY HH:MI:SS AM/PM')。我得到了ORA-01810:格式代码出现两次 –

+1

格式将是'TO_DATE(myString,'MM/DD/YYYY HH:MI:SS AM')'不'TO_DATE(myString,'MM/DD/YYYY HH:MI :SS AM/PM')' – Exhausted

回答

0

你想使用下面的转换功能

to_date(mystring, 'Mon DD, YYYY HH:MI:SS AM') 

在您的字符串是像上面的格式,你必须使用基于您的输入字符串格式字符串。

如果你想显示在上面的日期格式,你必须在这里使用TO_CHAR功能类似下面

select to_char(mydate, 'DD/MM/YYYY HH:MI:SS AM') from yourtable 

检查以了解更多信息http://docs.oracle.com/cd/B19306_01/server.102/b14200/functions180.htm

+0

我仍然有错误ORA-01843:不是有效月份 –

+0

您必须指定NLS_DATE_LANGUAGE –

4

试试这个,它工作得很好:

select to_char(to_date('Jul 18, 2013 11:06:23','MON DD, YYYY HH:MI:SS', 
    'NLS_DATE_LANGUAGE = American'),'MM/DD/YYYY HH:MI:SS AM') from dual 

您可以适应您的问题。

+3

关于NLS依赖关系的好处。 –

+1

可能有助于解释这两个函数及其格式模型正在做什么,以及为什么NLS覆盖很有用。 –

相关问题