IT/DB26 Teradata - QUALIFY ROW_NUMBER() SQL 을 작성하다보면 최근값을 가져오기 위해 SELECT * FROM TAB1 WHERE SEQNO = (SELECT MAX(SEQNO) FROM TAB2 WHERE T1.SEQNO = T2.SEQNO); 형태로 가져올 때가 있다. 이 때 QUALIFY ROW_NUMBER()을 유용하게 사용할 수 있다. 예시) SELECT PID, ORDDD, SEQ, COL1 FROM TAB1 QUALIFY ROW_NUMBER() OVER(PARTITION BY PID, ORDDD ORDER BY SEQ DESC ) = 1; 설명: PID, ORDDD 별로 SEQ 를 정렬하여 1개 값을 가져 오기 2014. 9. 2. Teradata - Substring 과 Substr 비교 기본적으로 Teradata SQL Assistant 를 사용할 때는 Teradata 를 통해 접속을 한다. 하지만 일반 어플리케이션에서는 ODBC를 통해서 접속하거나 JDBC를 통해서 접속을 한다. 이 때 사용할수 있는 함수나 기능적으로 차이가 날수 있다. 그예로 substring 과 substr을 살펴보면SELECT SUBSTRING ('1234567890' FROM 1 FOR 5);> 12345 SUBSTRING(string FROM ~ FOR) 는 ANSI 표준으로 Teradata 나 ODBC 다 가능하다.SELECT SUBSTR('1234567890' ,1,5); > 12345 위의 경우도 둘다 가능하다. 하지만 아래의 경우에 Teradata 를 사용하는 경우 오류가 발생한다.SELECT SUBS.. 2014. 8. 28. Teradata - Interval 과 Add_Months 비교 전월 같은 월 계산시에 오류가 발생할 수 있는 경우가 있다. 예를 들어, 7월은 31일까지 있지만 6월은 30일까지 밖에 없다. 또는 2월이 마지막 일이 28일 혹은 29일이다. 이런 경우 interval 을 사용하면 오류가 발생할 수 있다. SEL DATE '2014-07-31' - INTERVAL '1' MONTH; > SELECT Failed. [2665] Invalid DATE. SEL ADD_MONTHS(CAST('2014-07-31' AS DATE ),-1); > 2014-06-30 2014. 8. 28. ORACLE TO TERADATA MIGRATION GUIDELINES Primary Index creation rules: OracleTeradataPRIMARY KEYMake UPI and change those columns to NOT NULL.No PRIMARY KEY but one or more UNIQUE indexesCreate UPI with unique index with the least number of columns. Maintain NULL/NOT NULL constraint as is.No PRIMARY KEY, no Unique indexes, but only non-unique indexesPick a good candidate for PI and create NUPI. Maintain NULL/NOT NULL constraint as is.N.. 2014. 4. 28. 이전 1 2 3 4 5 6 7 다음