Upload
bhartiyaamit52
View
212
Download
0
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"!"#*"

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