从DD/MM/YYYY HH:MM:SS到YYYYMM的日期转换

dev*_*per 5 oracle date

我想将日期转换为其他格式.

以下是04/03/10 09:00:50.000000000 AMYYYYMM 的示例

我不能得到这个,下面是我用来转换的查询.

select to_char(to_date('04/03/10 09:00:50.000000000 AM','MM/DD/YYYY HH:MM:SS AM'),'YYYYMM') from table;
Run Code Online (Sandbox Code Playgroud)

Iam如下例外

ORA-01810:格式代码出现两次01810. 00000 - "格式代码出现两次"

Noe*_*oel 10

  1. 分钟的格式代码是MI,而不是MM.MM是几个月.
  2. 您使用的是2位数的年份.最好为此使用RR.甚至更好地使用4位数年份.
  3. TO_DATE不存储小数秒.您需要使用TO_TIMESTAMP并使用FF作为格式代码.

所以,你的查询将是

select to_char(to_timestamp('04/03/10 09:00:50.000000000 AM','MM/DD/RR HH:MI:SS.FF9 AM'),'YYYYMM') 
from table;
Run Code Online (Sandbox Code Playgroud)