Merhaba
DB' veritabani içinde gun ay ve yil değerleri var ve bunlar numnerik tipte. Concat yaparsam hata veriyor.
şimdi bu tablodan 2 tarih arası kayıtları çekmek haliyle zor... en mantıklısı bu üç alanaı uygun formata yanyana getirip where ile uyan kayıtları almak.
bunu nasıl yaparım.
Düzeltme: bu DB' maalesef AS/400 üstünde haliylke sql notasyonları farklı concat kabul etmedi ama || ile yaptım. değerleride Char ile char tipine çevirince oldu bu seferde sorun şu; 2005 3 12 gibi bir deger veriyor. bunu direst select içinde kullanıclacak hale nasıl getirirm.
gun , ay yil değişkenlerini birleştirme (sql içinde)
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
AS/400 de VT DB2 mu? CAST yada TO_CHAR tipi benzer bir fonksiyon var ise; şeklinde string e çevirebilirsin. Doğrusu VT ye uygun tarih formatında tarihe çevirip öyle sorgulamaktır 
Kod: Tümünü seç
... CAST(YIL AS CHAR(2))||CAST(AY AS CHAR(2))||CAST(GUN AS CHAR(2)) ...

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
merhabarsimsek yazdı:AS/400 de VT DB2 mu? CAST yada TO_CHAR tipi benzer bir fonksiyon var ise;şeklinde string e çevirebilirsin. Doğrusu VT ye uygun tarih formatında tarihe çevirip öyle sorgulamaktırKod: Tümünü seç
... CAST(YIL AS CHAR(2))||CAST(AY AS CHAR(2))||CAST(GUN AS CHAR(2)) ...
cast ile yapınca concat oldu ama bu seferde daha önce yazdığım gibi tek haneli aylarda sorun var.. ocaktan sonra ekim geliyor order by de..
ben şöyle birşey yaptım
Kod: Tümünü seç
Select
C9ALACAK,C9BORC,C9FLAG,C9DVZKOD,C9DVBORC,C9DVALAC,C9FISYIL,C9FISAY,C9FISGUN, ((C9FISYIL*400) +(C9FISAY*31)+C9FISGUN) AS FSTTAR
FROM VMUHLIB.MUHHARF
WHERE C9CARKOD='00001' ORDER BY FSTTAR
fsttar ı ben ürettiğim içinmi where içinde kullanamıyorum.
Önceki mesajda dediğim gibi YIL, AY, GÜN değerlerini VT nin tarih formatına uygun şekilde (YYYY-MM-DD mi yoksa YYYY/MM/DD mi her ne şekilde ise) TARIH şekline çevirmeniz daha doğru olacak. Diğer türlü kulağı ters göstermek gibi bir şey oluyor
tarih formatını YYYY-MM-DD varsaydım 

Kod: Tümünü seç
...
CAST( CAST(YIL AS CHAR(4))||'-'||CAST(AY AS CHAR(2))||'-'||CAST(GUN AS CHAR(2)) AS DATE )
...

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Genelde gg-aa-yyyy olur. Aralara . diye kayıt eder ararken / bunu ister. Bende fonksiyon yazdım kendime.
var
a,b,c,d,e:string;
begin
d:=DateToStr(Date);
a:=LeftStr(d,2);
b:=MidStr(d,4,2);
c:=RightStr(d,4);
e:=a+'/'+b+'/'+c;
end;
var
a,b,c,d,e:string;
begin
d:=DateToStr(Date);
a:=LeftStr(d,2);
b:=MidStr(d,4,2);
c:=RightStr(d,4);
e:=a+'/'+b+'/'+c;
end;
Şafak 300 ( 10.04.2005) dü artık Yok....
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=
http://www.ucretsizyazilim.com
Kısaca Ben : http://www.google.com.tr/search?hl=tr&q ... 5%9F&meta=