sourcecode

날짜 문자열에 대한 Oracle to_date 함수 사용(밀리초)

codebag 2023. 4. 18. 22:36
반응형

날짜 문자열에 대한 Oracle to_date 함수 사용(밀리초)

Oracle DB에 몇 가지 삽입을 수행해야 합니다.다음과 같은 형식의 날짜가 있습니다.

'23.12.2011 13:01:001'

설명서에 따라 다음과 같이 to_date 삽입물을 작성했습니다.

to_date('23.12.2011 13:01:01', 'DD.MM.YYYY HH24:MI:SS')

정상적으로 동작합니다.이제 다음 형식의 날짜가 밀리초 단위로 표시됩니다.

'23.12.2011 13:01:001'

다음을 시도했습니다.

to_date('23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3')

에러 01821이 표시됩니다.00000 - "날짜 형식이 인식되지 않습니다").

이 형식에는 밀리초 단위로 어떤 "String"을 사용해야 합니까?

오라클DATE는 1초 이상의 정밀도로 시간을 저장하지 않습니다.밀리초 단위의 정밀도 데이터는DATE기둥.

두 가지 옵션은 밀리초의 문자열을 잘라낸 후 변환하는 것입니다.DATE,예.

to_date( substr('23.12.2011 13:01:001', 1, 19), 'DD.MM.YYYY HH24:MI:SS' )

또는 스트링을 로 변환합니다.TIMESTAMP1밀리초의 정밀도를 지원합니다.

to_timestamp( '23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3' )

TO_DATE는 밀리초를 지원하지 않는 DATE 데이터 유형으로의 변환을 지원합니다.Oracle에서 밀리초를 지원하려면 TIMESTAMP 데이터 유형과 TO_TIMESTamp 함수를 살펴봐야 합니다.

도움이 됐으면 좋겠다.

세 자리 밀리초의 경우:

TO_CHAR(LN_AUTOD_UWRG_DTTM,'MM/DD/YYYY HH24:MI:SS.FF3')

6자리 밀리초의 경우:

TO_CHAR(LN_AUTOD_UWRG_DTTM,'MM/DD/YYYY HH24:MI:SS.FF'),

이 형식을 사용할 수 있습니다.SS.FF밀리초 동안:

to_timestamp(table_1.date_col), 'DD-Mon-R HH24:MI:SS.FF')

상세한 것에 대하여는, 다음을 참조해 주세요.
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions193.htm

날짜 클래스를 타임스탬프로 변경해야 합니다.

String s=df.format(c.getTime());
java.util.Date parsedUtilDate = df.parse(s);  
java.sql.Timestamp timestamp = new java.sql.Timestamp(parsedUtilDate.getTime());

언급URL : https://stackoverflow.com/questions/9180014/using-oracle-to-date-function-for-date-string-with-milliseconds

반응형