日付を取得するためにクエリを実行したとき、この形式で取得されますがmm/dd/yyyy
に変換する必要があります。私は、変換のために、このクエリを使用していyyyy/mm/dd hh:mm:ss.SSSをmm/dd/yyyyからoracleに切り捨てる方法
select
to_char(
add_months (
to_date(
to_char(
trunc(
TO_DATE('2016/01/01 00:00:00.0', 'YYYY/MM/DD HH24:MI:SS.SSS')
), 'MM/DD/YYYY' -- to char
),'MM/DD/YYYY' -- to date
), -2*1 -- add months
), 'MM/DD/YYYY' -- to char
) START_DATE,
to_char(
add_months (
to_date(
to_char(
trunc(
TO_DATE('2017/01/01 00:00:00.0', 'YYYY/MM/DD HH24:MI:SS.SSS')
), 'MM/DD/YYYY' -- to char
), 'MM/DD/YYYY' -- to date
), 3 -- add months
), 'MM/DD/YYYY' -- to char
) END_DATE
from dual;
出力は
ORA-01810: format code appears twice
01810. 00000 - "format code appears twice"
理由:TO_CHAR(ADD_MONTHS(TO_DATE(TO_CHAR(TRUNC(TO_DATE( "string" は)))))) - ()TRUNC(ADD_MONTHS(TO_DATE( "文字列"))) 'TO_CHARを使用し' –
ここでの問題は、SSを複数回使用していることです。 YYYY/MM/DD HH24の代わりにMI:SS.SSSあなたはYYYY/MM/DD HH24:MI:SS –