[PostgreSQL] timestamp질문 0 1 81

by 이히리기 [DB 기타] [2018.10.09 11:21:52]


PostgreSQL8.1 버전을 쓰고 있었는데

이번에 PostgreSQL10.4로 바꾸게 되었습니다.

테이블 A 정보는 아래와 같습니다

---------------------------------------

DATE컬럼 date type

TIME컬럼 character varying type

데이터 값 DATE = 2013/05/06

데이터 값 TIME = 2415

---------------------------------------

예를 들어 select to_timestamp(DATE||TIME,'YYYY-MM-DD+HH24MI')
from A

이렇게 검색하면 예전버전에는 2013/05/07 00:15:00 이렇게 날짜가 5월7일로 하루가 플러스되어 자동변환되어 검색이  되었는데

지금버전은 2415는 24시를 넘어서 검색할수 없다고 뜨는데 어떻게 고칠수 있는 방법이 없을까요?

 

by 마농 [2018.10.10 08:09:31]
WITH t AS
(
SELECT DATE '2018-10-10' dt, '1515' tm
UNION ALL SELECT '2018-10-10' , '2415'
)
SELECT dt, tm
     , TO_TIMESTAMP(dt + (tm::integer / 2400)
       ||' '|| LPAD((tm::integer % 2400)::varchar(4), 4, '0')
       , 'yyyy-mm-dd hh24mi') dttm
  FROM t
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입