2014-11-22 1 views
3

PostgreSQL에이 T-SQL 명령과 동일한 명령이 있습니까?PostgreSQL에서 DATEADD와 동일

select dateadd(hh,duration_in_hours,start_date) as end_date 

난 이후의 문자열 만 간격 키워드를 발견하지만,이 끔찍한 건설은 구문 오류를 반환합니다

select start_date + interval cast(duration_in_hours as varchar) || ' hours' 

는 "간격"키워드 이후에만 문자열 상수 수 있습니다. pgsql에는 비슷한 기능이 있어야하지만 확신 할 수 없습니다.

+0

사실, 동일합니다. 키워드를 사용하여 찾을 수 없습니다. – Hink

+0

사실'INTERVAL'은 타입이므로, 여러분은 문자열을 그렇게 캐스트 할 수 있습니다. 귀하의 진술은 'select start_date + cast (duration_in_hours ||'시간 '을 INTERVAL로 사용)'; | \t $$ \t \t \t 반환 $ 1 + 캐스트 있습니다 ($ 2 || ''를 시작 로 날짜를 반환'기능 DATEADD (날짜, 플로트, 문자)를 만들거나 대체 : 나는 자극을 가지고 간단한 함수로 전체를 감싸 | 간격으로 $ 3); \t 끝; \t $$ 언어 plpgsql;'. 공백을 용서하십시오. – Manngo

답변

9

당신은 이런 식으로 작업을 수행 할 수 있습니다

select start_date + (duration_in_hours * interval '1 hour') from your_table 

sample SQL Fiddle

0

포스트 그레스는 date_add 기능 또는 이와 동등한이없는 참조 - 날짜를 조작하는 방법 것은으로 + 연산자를 사용하는 것입니다 언급 한 것처럼 interval 값입니다.