2017-12-20 18 views
0

'MM/DD/YYYY HH24 : MI.SxFF6'형식의 Oracle에 타임 스탬프 열이 있습니다. 데이터 보인다 아래와 같이 : 나는 쿼리 시도 000000 디폴트로 할 필요가 밀리 초지고를 제외하고 값을 유지하기 위해 타임 스탬프를 필요Oracle에서 기본 밀리 초 0으로

11/09/1917 10:45:28.230000 
10/19/2014 18:09:28.410000 
12/19/2011 11:06:28.340000 

- 그것은

cast(to_char(Local_time, 'MM/DD/YYYY HH24:MI:SS') as timestamp(6)) 

그러나입니다 throwing error - "Not valid month"

밀리 세컨드를 0으로 만들 수있는 아이디어가있는 사람이 있습니까? Toad를 사용하여 테이블을 쿼리합니다.

+0

왜 'TIMESTAMP'을 (를)'VARCHAR2 '로 변환하려고합니까? –

답변

0

TIMESTAMP 값에 형식이 없습니다. 가지고있는 것은 디스플레이 디스플레이 - 현재 사용자가 정의한 NLS_TIMESTAMP_FORMAT 설정입니다. 아마,이 같은

CAST(Local_time AS TIMESTAMP(0)) 

당신이 밀리 초를 TRUNC 싶은 경우에 그러나 천국 그들을 계속 사용할 사용

CAST(CAST(Local_time AS TIMESTAMP(0)) AS TIMESTAMP(6)) 
+0

나는 노력했다. 열은 timestamp 데이터 형식이며 timestamp (0)은 밀리 초 및 Am/PM없이 타임 스탬프를 가져옵니다. 24 HR 형식으로 지정합니다. – Pallavi

+0

다시 'TIMESTAMP'를 반환합니다. 어떤 포맷도 가지고 있지 않다! 디폴트 디스플레이를위한'NLS_TIMESTAMP_FORMAT' 설정을 변경하거나'TO_CHAR' 기능을 사용하십시오. –

0

뭔가 :

이 하나를 시도?

SQL> create table test (col timestamp, result timestamp); 

Table created. 

SQL> insert into test (col) values (to_timestamp('11/09/1917 15:45:28.230000', 'MM/DD/YYYY HH24:MI:SS.FF6')); 

1 row created. 

SQL> update test set result = cast(col as date); 

1 row updated. 

SQL> select * From test; 

COL      RESULT 
------------------------- ------------------------- 
09.11.17 15:45:28,230000 09.11.17 15:45:28,000000 

SQL>