Sayılarla çalışmak
1) Oracle'daki NUMBER salt kullanımı ile PostgreSQL'deki NUMERIC salt kullanımı farklı davranıyorlar. Şöyle ki; Oracle, virgülden sonrasını, her halükarda atıyor. Üstelik, veritabanına göndermeye çalışıldığında hata vermeden otomatik olarak atıyor. Fakat, PostgreSQL, tıpkı bekleneceği gibi (olması gerektiği gibi) virgülden sonra istediğin kadar girebiliyorsun; hepsini veritabanına kaydediyor; harika! Yani; Oracle'da, alan NUMBER ise PostgreSQL'de, o alanı NUMERIC olarak ayarlamakta herhangi bir sakınca yok. (Not: NUMERIC olarak ayarlamak yerine "DOUBLE PRECISION" yapma konusunda yorumu olan var mı?)
2) Mesela NUMERIC(15,2) ayarı, her iki veritabanında da tam olarak aynı şekilde yorumlanıyor... Yani; virgülden sonrası ile birlikte, tüm rakamların toplam adedi en çok 15 olabilir. Bu 15 tane rakamın ise 2 tanesi her halükarda, virgülden sonrası için ayrılıyor. Yani, tam sayı kısmı için (virgülden öncesi için) 13 tane rakam kalıyor. Örnek verirsek; söz konusu ayar için
1234567890123,45
(Sorun yok)
1234567890123
(Otomatik olarak, sonuna iki sıfır konur ve "1234567890123,00" olur)
123456789012345
(Bu sayı kabul edilmez; hata verir. Çünkü, tam sayı kısmı fazla uzun. 13'ten fazla: 15 tane rakam)
0 yorum:
Yorum Gönder