1

我有一个这种格式的字符串:"2013-06-05T19:41:12.739"我需要将它转换为这种格式的日期字段:"2013-06-05 19:41:12"

我怎样才能用 Oracle 做到这一点?

4

1 回答 1

2

您使用 to_date() 或 to_timestamp() 将字符串文字转换为日期/时间戳值:

如果您需要毫秒,则必须将其转换为时间戳,否则(如果您想丢弃毫秒)您可以将其转换为日期:

select to_timestamp('2013-06-05T19:41:12.739', 'yyyy-mm-dd"T"hh24:mi:ss.ff3')
from dual;

要摆脱毫秒,只需将上述语句的结果转换为DATE

select cast(to_timestamp('2013-06-05T19:41:12.739', 'yyyy-mm-dd"T"hh24:mi:ss.ff3') as date)
from dual;

我需要将其转换为这种格式的日期字段:

没有DATE格式

在显示DATE列时将格式应用于列。通过有效的 NLS 设置(或应用程序中的某些代码)显式地使用或隐式地使用。to_char()

于 2013-06-06T13:45:56.213 回答