Delphi Can
Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Veri Tabanı (http://www.delphican.com/forumdisplay.php?fid=4)
+--- Forum: Diğer Veri Tabanları (http://www.delphican.com/forumdisplay.php?fid=18)
+---- Forum: PostgreSQL (http://www.delphican.com/forumdisplay.php?fid=76)
+---- Konu Başlığı: Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? (/showthread.php?tid=3719)



Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? - Fesih ARSLAN - 11-06-2019

Merhaba,
PostgreSQL veri tabanında bir hesaplama yaparak sonuç alıyorum. 
'% '||(t1.top*100 / t2.toplam) AS yuzdelik
Yukarıdaki işlem sonucunda tam sayı dönüyor. İki basamak ondalık hassasiyeti olması için hangi fonksiyon veya metodu kullanmalıyım.


Cvp: Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? - hi_selamlar - 11-06-2019

(11-06-2019, Saat: 16:58)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,
PostgreSQL veri tabanında bir hesaplama yaparak sonuç alıyorum. 
'% '||(t1.top*100 / t2.toplam) AS yuzdelik
Yukarıdaki işlem sonucunda tam sayı dönüyor. İki basamak ondalık hassasiyeti olması için hangi fonksiyon veya metodu kullanmalıyım.

Merhabalar,

Test etme imkanım malesef olmadığı için bir örnek gördüm işinize yarar umarım.

1.
NUMERIC(precision, scale) 

2.
SELECT round( CAST(amount AS NUMERIC), 2) AS rounded_amount
FROM payment;

Kolay gelsin.


Cvp: Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? - Fesih ARSLAN - 11-06-2019

(11-06-2019, Saat: 17:07)hi_selamlar Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(11-06-2019, Saat: 16:58)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,
PostgreSQL veri tabanında bir hesaplama yaparak sonuç alıyorum. 
'% '||(t1.top*100 / t2.toplam) AS yuzdelik
Yukarıdaki işlem sonucunda tam sayı dönüyor. İki basamak ondalık hassasiyeti olması için hangi fonksiyon veya metodu kullanmalıyım.

Merhabalar,

Test etme imkanım malesef olmadığı için bir örnek gördüm işinize yarar umarım.

1.
NUMERIC(precision, scale) 

2.
SELECT round( CAST(amount AS NUMERIC), 2) AS rounded_amount
FROM payment;

Kolay gelsin.

Çok teşekkür ederim.
Verdiğiniz kodu test etme imkanı bulamadım fakat aşağıdaki şekilde sorunu çözdüm.
to_char( 100.0 * t1.top / t2.toplam, '% 990D99' ) AS yuzdelik



Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? - 3ddark - 11-06-2019

round(v numeric, s int) round to s decimal places round(42.4382, 2) sonuç = 42.44

trunc(v numeric, s int) truncate to s decimal places trunc(42.4382, 2) sonuç = 42.43

Ben hep yukarıdaki fonksiyonları kullanıyorum. Birisi yuvarlıyor diğeri ise olduğu gibi ondalık kısmı ne kadar isterseniz o kadarını alıyor.

Fonksiyonların tamamının olduğu kaynak. Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.


Cvp: Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? - Fesih ARSLAN - 11-06-2019

(11-06-2019, Saat: 17:33)3ddark Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
round(v numeric, s int) round to s decimal places round(42.4382, 2) sonuç = 42.44

trunc(v numeric, s int) truncate to s decimal places trunc(42.4382, 2) sonuç = 42.43

Ben hep yukarıdaki fonksiyonları kullanıyorum. Birisi yuvarlıyor diğeri ise olduğu gibi ondalık kısmı ne kadar isterseniz o kadarını alıyor.

Fonksiyonların tamamının olduğu kaynak. Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Bu fonksiyonu kullanmak sanırım daha doğru olacak. Teşekkür ederim.


Calculated Alanda Ondalık Sayısı Nasıl Belirlenir? - boreas - 11-06-2019

firebirdde bu tür bir sorunu bölmeden önce her iki sayısıda cast komutuyla Numeric(10,2) çevirip bölmüştüm ve istediğim hassasiyete o şekilde ulaştım.