Arkadaşlar %90 projemde Oracle kullandım kalanında ise tercihim mysql oldu ama ilk defa mssql kullanmak zorunda kalıyorum. 2 tane sorunum var.
1. Parasal veri tipi sorunu. Oracle da number veri tipi karşılığı olan bir veri tipi yok. Parasal veri tipi için önerilen şey ise Money. Fakat money kullandığım zaman şu şekil bir durum çıkıyor ortaya;
Form Alanına Yazdığım: 5.56 Veri tabanına kaydedilen: 5,5600 Tekrar form alanında görüntülediğim zaman gösterilen: 5,5600 Forma yüklenen veriyi hiç dokunmadan kaydettiğimde veri tabanına kaydedilen: 55600,0000
Veri tabanına Decimal olarak convert edip göndersemde convert edip görüntülesemde oluşan durum bu.
Money yerine Decimal kullandığım zaman oluşan durumda şu şekilde;
Form Alanına Yazdığım: 5.56 Veri tabanına kaydedilen: 5.56 Tekrar form alanında görüntülediğim zaman gösterilen: 5,56 Forma yüklenen veriyi hiç dokunmadan kaydettiğimde gelen hata: Error converting data type nvarchar to numeric.
Özet olarak parasal birim alanlar için (Asp.net projesinde) tercih etmem gereken yöntem nedir. Kıytırık bir para kaydetme işlemi için 50 takla atmak zorunda kalmak bile Oracle iyiki var dememe yetiyor.
2. Tarih ve saat kayıtlı bir kolonda (DateTime) iki tarih arası veri sorgulama fakat saat kullanılarak.
Örneğin: 21.12.2013 21:00:00 ile 23.12.2013 21:00:00 arası bir sorgulama yapmak istiyorum. Between saat olduğunda çalışmıyor. Saat alanı 00:00:00:000 olursa getiriyor. Bunun için kullandığınız bir yöntem varmıdır ?
Teşekkürler şimdiden cevaplar için.
Neden benim sorduğum tüm sorular cevapsız kalıyor ?
para birimlerinde dediğin gibi bir hataya karşılaşmadım şimdiye kadar. sadece db ye kaydederken "," ü "." ile replace edersen muhtemelen sorun çözülecektir. Ben şimdiye kadar hep böyle çalıştım sql server da. ayrıca tarih formatından dolayı hata alıyorsun galiba. Yoksa between fonksiyonu saat aralığınıda dikkate alır. aşağıda sana bir örnek sql yazıyorum umarım işini görür. select * from SURVEY_USERS_RELATION where createDate between CONVERT(datetime,'03-12-2013 00:00',103) and CONVERT(datetime,'16-12-2013 23:59',103) 12. ayın 3 ile 12. ayın 16 sı arasında sorgulama yapıyorum burada.
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme