stored procedure sum dan bos string dönmesi
stored procedure sum dan bos string dönmesi
selamu aleyküm...
sp ile birseyler kurcaliyorum. sum ile bir tablodaki toplami alip baska bir tabloya yazdirmak istiyorum fakat, toplamini almak istedigim tablo bos ise eger bos string geri dönüyor. ve sifir yazmasi gerekirken field i bos birakiyor.
kontrol yapmaya calistim bir variable olusturdum ve sum dan aldigim degeri variable ye atadim. daha sonra eger toplam = '' then toplam = 0 dedim fakat hala bos string yaziyor... tabloya sifir ( 0 ) yazmasi icin nasil bir kod uygulamaliyim?
sp ile birseyler kurcaliyorum. sum ile bir tablodaki toplami alip baska bir tabloya yazdirmak istiyorum fakat, toplamini almak istedigim tablo bos ise eger bos string geri dönüyor. ve sifir yazmasi gerekirken field i bos birakiyor.
kontrol yapmaya calistim bir variable olusturdum ve sum dan aldigim degeri variable ye atadim. daha sonra eger toplam = '' then toplam = 0 dedim fakat hala bos string yaziyor... tabloya sifir ( 0 ) yazmasi icin nasil bir kod uygulamaliyim?
kıdemsiz üye
Merhaba;
Böyle bir kod işini görebilir.
iyi günler..
Böyle bir kod işini görebilir.
Kod: Tümünü seç
SELECT
(case when (sum(TUTAR))>0 then
sum(TUTAR)else 0 end)as TOPLAMTUTAR
FROM TABLO
Kod: Tümünü seç
COALESCE (V1, V2,..., Vn)
yerine
Kod: Tümünü seç
toplam is not null then toplam else 0 end
@Onaydin'ın dediği gibi düzeltirsen daha sağlıklı olur...
iyi günler...
Kod: Tümünü seç
SELECT
(case when (sum(TUTAR)) is not null then
sum(TUTAR)else 0 end)as TOPLAMTUTAR
FROM TABLO
Merhaba;
Veritabanımdaki alanım DOUBLE PRECISION tipte;
Aynı şekilde SUM işlemi yaptım.Sonuç tam senin istediğin gibi 280,56
Belki Çıkan Sum sonucunu, integer olarak alıyorsundur ondan olabilir...
Şu şekilde kullanımda tam sonucu alman lazım..
iyi günler...
Veritabanımdaki alanım DOUBLE PRECISION tipte;
Aynı şekilde SUM işlemi yaptım.Sonuç tam senin istediğin gibi 280,56
Belki Çıkan Sum sonucunu, integer olarak alıyorsundur ondan olabilir...
Şu şekilde kullanımda tam sonucu alman lazım..
Kod: Tümünü seç
IBQuery1.FieldByName('Toplam').AsFloat;