3
Teradata Timestamp tips & tricks TIP 1: Create Timestamp from Date and Time  SELECT CAST(CAST(CURRENT_DATE AS FORMAT 'YYYY-MM-DD') || ' ' || CAST(CAST(CURRENT_TIME AS FOR MAT 'HH:MI:SS') AS CHAR(8)) AS TIMESTAMP(0)); SELECT CAST(CURRENT_DATE AS TIMESTAMP(0)) + ((CURRENT_TIME - TIME '00:00:00') HOUR TO SECOND(0)); ===================================================================== =========== TIP 2: Convert timestamp field in Teradata into format 'MMM-'  select CURRENT_TIMESTAMP (FORMAT 'MMM-YYYY'); C!!"#$ T%&"S$&() ------------------- M!-2010 ===================================================================== ========= !nsertin" c#rrent$timestamp val#e into timestamp% col#mn  Create ta(le stats(!"*!,_$%&" TIMESTA MP(0)); ."#"/"! " $! $ $" $." *!!"#$_$%&"3$& /" %#$ $.%3 *&# 3%#4 %#3"!$ %#$ 3$$3(!"*!,_$%&") 3""*$ *!!"#$_$%&"3$& ; " 4" $ 5%#4 "!!!6 79: D$" T%&" 5%", /"!56 T /%, $.%3 " ./" $ 3$%#3 S$%#3: 16 D$ $" 5! CURRENT_TIMESTAMP %3 TIMESTAMP() #, !" $!%#4 $ %#3"!$ TIMESTA MP() ,$ $ TIMESTAMP(0) #, $.$'3 . !" 4"$$%#4 $.%3 "!!!6 %#3"!$ %#$ 3$$3(!"*!,_$%&") Sel cast(CURRENT_DATE as T%&"S$&(0) ) + ((CURRENT_TIME - $%&" '00:00:00') .! to 3"*#,(0)) ; 26 insert  into stats(!"*!,_$%&") select CURRENT_TIMESTA MP(0); =============================================================================== Add min#tes to timestamp  H $ ,, 10 &%#$"3 $ *!!"#$ $%&"3$& %# TD SEL CURRENT_TIMESTAMP + INTER<A '10' MINUTE6 T." 5%#4 ">&" %3 $?"# 3$!%4.$ 5!& T"!,$ F#*$%#3 #, O"!$!3 !"5"!"#*" &#6 TechM Internal

Teradata Timestamp Tricks

Embed Size (px)

Citation preview

 

Teradata Timestamp tips & tricks

TIP 1: Create Timestamp from Date and Time  

SELECT CAST(CAST(CURRENT_DATE AS FORMAT 'YYYY-MM-DD') || ' ' ||

CAST(CAST(CURRENT_TIME AS FOR MAT 'HH:MI:SS') AS CHAR(8)) AS TIMESTAMP(0));

SELECT CAST(CURRENT_DATE AS TIMESTAMP(0)) + ((CURRENT_TIME - TIME

'00:00:00') HOUR TO SECOND(0));

=====================================================================

===========

TIP 2: Convert timestamp field in Teradata into format 'MMM-'  

select CURRENT_TIMESTAMP (FORMAT 'MMM-YYYY');

C!!"#$ T%&"S$&()

-------------------

M!-2010

=====================================================================

=========

!nsertin" c#rrent$timestamp val#e into timestamp% col#mn  

Create ta(le stats(!"*!,_$%&" TIMESTAMP(0));

."#"/"! " $! $ $" $." *!!"#$_$%&"3$& /" %#$ $.%3 *&# 3%#4

%#3"!$ %#$ 3$$3(!"*!,_$%&") 3""*$ *!!"#$_$%&"3$& ; " 4"$ 5%#4 "!!!6

79: D$" T%&" 5%", /"!56

T /%, $.%3 " ./" $ 3$%#3

S$%#3:

16 D$ $" 5! CURRENT_TIMESTAMP %3 TIMESTAMP() #, !" $!%#4 $ %#3"!$

TIMESTAMP() ,$ $ TIMESTAMP(0) #, $.$'3 . !" 4"$$%#4 $.%3 "!!!6

%#3"!$ %#$ 3$$3(!"*!,_$%&")

Sel cast(CURRENT_DATE as T%&"S$&(0))

+

((CURRENT_TIME - $%&" '00:00:00') .! to 3"*#,(0)) ;

26 insert into stats(!"*!,_$%&") select CURRENT_TIMESTAMP(0);

===============================================================================

Add min#tes to timestamp 

H $ ,, 10 &%#$"3 $ *!!"#$ $%&"3$& %# TD

SEL CURRENT_TIMESTAMP + INTER<A '10' MINUTE6

T." 5%#4 ">&" %3 $?"# 3$!%4.$ 5!& T"!,$ F#*$%#3 #, O"!$!3 !"5"!"#*"

&#6

TechM Internal

 

E>&" 1: S@$!*$ $ TIMESTAMP T"3

C#3%,"! $." 5%#4 $@":

CREATE TA)LE %D$"T%&"

(3$!$_$%&" TIMESTAMP(0)"#,_$%&" TIMESTAMP(0));

D"$"!&%#" $." ,%55"!"#*" 3"*%5%#4 # I#$"!/ #%$ 5 DAY TO SECOND 5! $." !"3$:

SELECT ("#,_$%&" - 3$!$_$%&") DAY() TO SECOND FROM %D$"T%&";

T." DAY() 3"*%5%"3 5! ,%4%$3 5 !"*%3%# #, 3 5! &>%&& 5 BBBB ,3 !

A!>%&$" 27 "!36

T." !"3$ %3 # I#$"!/ $.$ ?3 %?" $.%3:

9 1:B:2060000

================================================================================

===

Convert varc*ar to timestamp  

./" *&# %# 3!*" 3$!,$"1 3 <ARCHAR(2) #, $." /" @"%#4 '2010010181010'6

SELECT CAST ('2010010181010' AS TIMESTAMP(0) FORMAT 'YYYYMMDDHHMISS');

================================================================================

=====

: Displa+ Timestamp ,it* AM .M format  

SELECT CAST(TIMESTAMP'2010-0-12 1:2:9' AS FORMAT '&&,,@..:&%:33@$')

(*.!(20));

================================================================================

Displa+ timestamp in // Mar /0 1/2134564 format  

select cast(*!!"#$_TIMESTAMP() as $%&"3$&() FORMAT ',,@&&&@@..:&%:3363()')

(*.!(29));

================================================================================

===

S#(tract t,o T!MESTAM. T+pes 

C#3%,"! $." 5%#4 $@":

CREATE TA)LE %D$"T%&" (3$!$_$%&" TIMESTAMP(0)"#,_$%&" TIMESTAMP(0) );

D"$"!&%#" $." ,%55"!"#*" 3"*%5%#4 # I#$"!/ #%$ 5 DAY TO SECOND 5! $." !"3$:

SELECT ("#,_$%&" - 3$!$_$%&") DAY() TO SECOND FROM %D$"T%&";

T." DAY() 3"*%5%"3 5! ,%4%$3 5 !"*%3%# #, 3 5! &>%&& 5 BBBB ,3 !

A!>%&$" 27 "!36

T." !"3$ %3 # I#$"!/ $.$ ?3 %?" $.%3:

9 1:B:2060000

TechM Internal

 

================================================================================

==

: E7tract f#nction on DATE & T!ME

E7tractin" From C#rrent Date%M!*. 202010)

8#er+ Res#lt 

SELECT DATE; 10020 (Defa#lt 5!&$)

SELECT ETRACT(YEAR FROM DATE); 2010

SELECT ETRACT(MONTH FROM DATE); 0

SELECT ETRACT(DAY FROM DATE); 20

SELECT ETRACT(YEAR FROM DATE + 9); 2011

SELECT ETRACT(MONTH FROM DATE + 0); 0

SELECT ETRACT(DAY FROM DATE + 12); 01

==================================================================

E7tractin" From C#rrent Time %  2:2 PM )

8#er+ Res#lt 

SELECT TIME; 1:2:2 (Defa#lt 5!&$)

SELECT ETRACT(HOUR FROM TIME); 1

SELECT ETRACT(MINUTE FROM TIME); 2

TechM Internal