2011-02-07 5 views
0

이것은 거의 Informix defining an INTERVAL with a parameter과 같은 문제이지만 Teradata에 있습니다.시간 간격으로 Teradata 매크로 매개 변수

간격으로 사용할 hh : mm : ss 형식의 문자열을 허용하는 매크로를 만듭니다.

매크로는 과거 hh : mm : ss의 타임 스탬프로 무엇인가를하려고합니다.

다음은 기본 SQL I 오류 Failed 3707: Syntax error, expected something like a string or a Unicode character literal between the 'INTERVAL' keyword and ':'를 얻을 수

CREATE MACRO TEST_MACRO (
    HHMMSS CHAR(8) 
) 
AS 
(
SELECT 
    CAST(CURRENT_TIME AS TIMESTAMP(0)), 
    CAST(CURRENT_TIME - INTERVAL :HHMMSS HOUR TO SECOND AS TIMESTAMP(0)) 
) 

입니다.

이 방법이 있습니까?

답변

1

알 수 있습니다.

CREATE MACRO TEST_MACRO (
    HHMMSS CHAR(8) 
) 
AS 
(
SELECT 
    CAST(CURRENT_TIME AS TIMESTAMP(0)), 
    CAST(CURRENT_TIME - CAST(:HHMMSS AS INTERVAL HOUR TO SECOND) AS TIMESTAMP(0)); 
) 
관련 문제