Quantcast
Channel: Teradata Forums - All forums
Viewing all articles
Browse latest Browse all 27759

Need Sql - response (11) by dnoeth

$
0
0
Hi Mahesh, it's not a bug. ADD_MONTHS is not a Standard SQL function, so there are no common rules how to implement it and Oracle uses a different rule than Teradata. Btw, both rules have some disadvantage :-) Which release are you running? In TD14 there's a built-in OADD_MONTHS, before there's a bunch of Oracle UDFs which include this and on 13.10 you could simply implement a SQL UDF: REPLACE FUNCTION OADD_MONTHS ( cdate DATE, incr INT ) RETURNS DATE SPECIFIC oadd_months_dt RETURNS NULL ON NULL INPUT CONTAINS SQL DETERMINISTIC COLLATION INVOKER INLINE TYPE 1 RETURN CASE WHEN EXTRACT(MONTH FROM cdate) <> EXTRACT(MONTH FROM cdate+1) THEN ADD_MONTHS(cdate+1,incr)-1 ELSE ADD_MONTHS(cdate,incr) END ; REPLACE FUNCTION OADD_MONTHS ( cdate TIMESTAMP(6), incr INT ) RETURNS DATE SPECIFIC oadd_months_ts RETURNS NULL ON NULL INPUT CONTAINS SQL DETERMINISTIC COLLATION INVOKER INLINE TYPE 1 RETURN OADD_MONTHS(CAST (cdate AS DATE), incr); ; You have to change all occurence of ADD_MONTHS to OADD_MONTHS anyway, maybe it's already implemented. Dieter    

Viewing all articles
Browse latest Browse all 27759

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>