Вы находитесь на странице: 1из 2

Convert from Oracle to Teradata mx asked Apr 29, 2008 | Replies (9) Hi, I have written a query in Oracle

like this : select to_char(to_date(sum(column_name), 'SSSSS' ), 'HH24:MI:SS') from table_nam e1; Plz tell me what will be the query for write in Teradata. Thanks Answer this question Popular White Paper On This Topic Unified Communications: Features & Business Value 9 Replies 0 mx replied Apr 29, 2008 Can anyone help on this? 0 Amit Poorva replied May 4, 2008 Will try to send you the answer tomorrow. 0 Amit Poorva replied May 6, 2008 Try this: select (9999 * cast((sum(column_name)/9999 * interval '1' second) as interval ho ur to second(0))) as time_t from table_name1; 0 Amit Poorva replied May 6, 2008 Please make this slight change to the above solution: select case when ((sum(column_name)/9999) = 0 ) then (cast((sum(column_name) * interval '1' second) as interval hour to second(0 ))) else (9999 * cast((sum(column_name)/9999 * interval '1' second) as interval hour to second(0))) end as time_t from table_name1; White Papers and Webcasts Popular Transforming an Industry with Big Data, a Telco Example Related Teradata Analytic Offload IT Strategies from Oracle - Oracle's Approach to SOA Oracle Solaris and Oracle SPARC T4 Servers - Engineered ... More White Papers 0 Amit Poorva replied May 6, 2008 :), sorry, but just to make the soln robust enough: select case when ((sum(column_name)/9999) = 0 ) then (cast((sum(column_name) * interval '1' second) as interval hour to second(0 ))) else (9999 * cast((sum(column_name)/9999 * interval '1' second) as interval hour to second(0))) + cast((sum(column_name) MOD 9999 * interval '1' second) as interval hour to sec ond(0)) end as time_t from table_name1;

0 abi abi replied Jan 30, 2009 I tried to convert following oracle query in teradata.But data volume in tab1 is 50,000 and tab2 is 30,000.Query did not work.Plz help me... Select B.col_1, B.col_2 , nvl(D.col_5,E.col_5)col, A.col_6 from tab1 A, tab2 B, tab3 C, tab4 D, tab5 E where B.col_1 +0 = C.col_1(+) and B.col_2 = C.col_2(+) and C.col_3 = D.col_3(+) and A.col_1 = B.col_1 and (( C.eff_dt is null) or (C.eff_dt = (select MAX(eff_dt) from tab3 x where x. col_1 = B.col_1 and x.col_2 = B.col_2))) and B.col_1 +0 = E.col_1(+) ad B.col_2 +0 = E.col_2(+) and ?1?!= E.col_4(+) 0 babu bhai replied Oct 18, 2011 SELECT CAST(CAST(CAST(SUM("column_name") AS DATE FORMAT 'SSSSS') AS TIMESTAMP (0 ) FORMAT 'HH:MI:SS') AS VARCHAR (50)) FROM table_name1. 0 George Coleman replied Oct 19, 2011 select cast(sum(column_name)/3600 as dec(2) format'99') || ':' || cast((sum(colu mn_name) mod 3600)/60 as dec(2) format'99') || ':' || cast(sum(column_name) mod 60 as dec(2) format'99') from table_name1; 0 George Coleman replied Oct 19, 2011 In response to abi abi: Select B.col_1 ,B.col_2 ,( coalesce ( D.col_5 ,E.col_5 ) ) col ,A.col_6 FROM tab1 A JOIN tab2 B ON A.col_1 = B.col_1 LEFT OUTER JOIN tab3 C ON B.col_1 + 0 = C.col_1 AND B.col_2 = C.col_2 LEFT OUTER JOIN tab4 D ON C.col_3 = D.col_3 LEFT OUTER JOIN tab5 E ON B.col_1 + 0 = E.col_1 ad B.col_2 + 0 = E.col_2 WHERE ( ( C.eff_dt is null ) OR ( C.eff_dt = ( select MAX ( eff_dt ) from tab3 x where x.col_1 = B.col_1 AND x.col_2 = B.col_2 ) ) ) AND ?1? <> E.col_4 ;

Вам также может понравиться