2017-12-15 14 views
0

다음과 같이 초 단위로 시간 소인 형식을 지정할 수 있습니다.netezza - 1/100 초/1/10 초로 형식화

to_char('2017-02-20 08:22:44.166'::timestamp, 'YYYY-MM-DD HH24:MI:SS') --> 2017-02-20 08:22:44

나는 100 단위와 초 10 초에 위의 타임 스탬프를 포맷해야합니다.

->2017-02-20 08:22:44.17

(제 1/100S하도록 포맷) ->2017-02-20 08:22:44.2 I는 다음과 같이 수행의 포스트 그레스 방법을 시도

(1/10 초 번째로 포맷)뿐만 이것은 내가

select '2017-02-20 08:22:44.166'::timestamp(2), '2017-02-20 08:22:44.166'::timestamp(1); 

ERROR [42000] ERROR: 'select '2017-02-20 08:22:44.166'::timestamp(2), '2017-02-20 08:22:44.166'::timestamp(1) LIMIT 1000' 
error            ^found "(" (at char 44) expecting a keyword 

답변

1

이 꽤하지 않습니다와 함께 일하고 있어요 네티 플랫폼에서 오류를 제공하지만, PostgreSQL의 작업을 수행하고 난 네티에서 작동합니다 생각합니다. (안타깝게도 Netezza 상자에 더 이상 액세스 할 필요가 없으므로 문서에만 의존하고 있습니다.)

select 
    '2017-02-20 08:22:44.166'::timestamp, 
    to_char('2017-02-20 08:22:44.166'::timestamp, 'YYYY-MM-DD HH24:MI:SS.') || 
     round(to_char('2017-02-20 08:22:44.166'::timestamp, 'MS')::float/10) as hundredths, 
    to_char('2017-02-20 08:22:44.166'::timestamp, 'YYYY-MM-DD HH24:MI:SS.') || 
     round(to_char('2017-02-20 08:22:44.166'::timestamp, 'MS')::float/100) as tenths; 

     timestamp  |  hundredths  |  tenths   
-------------------------+------------------------+----------------------- 
2017-02-20 08:22:44.166 | 2017-02-20 08:22:44.17 | 2017-02-20 08:22:44.2 
(1 row) 
+0

- 쿼리를 실행하고 결과를 얻는데 사용했던 UI 인터페이스/앱이 무엇인지 궁금하십니까? – user3206440

+0

Netezza에서도 잘 작동합니다. 거의 항상 사용하는 UI는 명령 행 (PostgreSQL의 경우 psql, Netezza의 경우 nzsql, Oracle의 경우 sqlplus 등)입니다. 커맨드 라인이 데이터베이스에 더 가까운 인터페이스를 제공하고 반복 가능한 코드를 생성하는 데 도움이됩니다. 나는 각 스크립트를 파일에 보관하고 반복해서 실행 할 수 있습니다. 지난 번 체크 한 상자를 기억하기보다는. 헌트 앤 토마스 (Hunt & Thomas) 15 절 "쉘 게임 (Shell Games)"의 Pragmatic Programmer는 그것을 잘 설명합니다. 내 웹 사이트 http://thedatastudio.net을 볼 수도 있습니다. –