Şimdi Ara

Para birimi ve İki tarih arası sorgulama (Sinir krizine az kaldı)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
3
Cevap
0
Favori
4.217
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.