4 Eylül 2014 Perşembe

Teradata Alias Seçimi

Merhaba,

Teradata kolon’a alias verme konusunda şöyle bir seçimi var. Eğer bir kolon ismi hem tabloda hem de alias olarak verdiğinizde where koşulundaki kolon tablodakine refer ediyor.
Bu durumla birkaç kez DONEM kolonu için başıma geldi.
select cast(cast(cast(current_timestamp - interval '1' month as date format 'yyyymm') as varchar(6)) as integer) as DONEM




select cast(cast(cast(current_timestamp - interval '1' month as date format 'yyyymm') as varchar(6)) as integer) as DONEM
from table1
where DONEM=201408

dediğinizde table1 içerisinde DONEM varsa onu kullanıyor.

Daha karmaşık bir örnek vermek gerekirse; 

Table1 tek kolonluk bir tablo olsun (col1) . 
select * from table1 ;








Alttaki select’e 3 as col1 dedim ve where col1>2 dediğimde col1-> table1.col1 olarak filtreleniyor ve result set olarak col1 isminde 3’ler döndürüyor. Eğer filtreleme 3 as col1 daki kolona uygulanmış olsaydı 5 tane 3 döndürecekti.

select 3 as col1 , col1
from table1
where col1>2;







Kolay gelsin.

0 yorum:

Yorum Gönderme