Şub
17
2011

SQL: NvarChar – Float Problemi

Belki sizin de başınıza gelmiştir.

Daha önceden Nvarchar olarak tanımlanmış bir veritabanı alanında ondalıklı toplama işlemi yapmak istediğinizde sistem size izin vermez ve hoop kardeşim! Nvarchar alanı FLOAT alana yada decimal alana dönüştürülemez diyebilir.

İşte morallerin biraz olsun bozulduğu bu anlarda hemen alternatif çözüm arayışına gireriz.

İşte çözüm:

select
sum(cast(hisse as money)) toplamhisse,
sum(cast(pay as money)) toplampay,
sum(cast(sermaye as money)) toplamsermaye

gördüğünüz gibi money alan tanımı da ondalıklı yapıya sahiptir ve nvarchar alanından dönüşümde kullanılabilir.

Kolay gelsin.

8 Yorum “SQL: NvarChar – Float Problemi”

  • Orhan 18 Şubat 2011, 00:00

    bu işi program içinde dönüştürmek daha kolay değil mi. mesela delphi de strtofloat(string) gibi

  • Burak 18 Şubat 2011, 00:00

    veri miktarının binlerce olduğunu düşün ve alanların toplamını aldırmaya çalış, bak bakalım hangisi daha hızlı…

  • Orhan 18 Şubat 2011, 00:00

    hız bakımından demedim ki zaten. daha kolay olur dedim.

  • Orhan 18 Şubat 2011, 00:00

    bu işi program içinde dönüştürmek daha kolay değil mi. mesela delphi de strtofloat(stri​ng) gibi

  • Burak 19 Şubat 2011, 00:00

    mevcut SQLselectsum(cast(hisse as money)) toplamhisse,sum(cast(pay as money)) toplampay,sum(cast(sermaye as money)) toplamsermayeşeklindeydi, bunun için delphide kaç satır kod yazman lazım.. dediğin fonksiyonla kullanabilmek için??

  • Orhan 19 Şubat 2011, 00:00

    delphide bunun için 5 satırı geçmez. delphide query componentine fazladan calculated alan eklenecek. adı hissehesaplanan olsun ve currency veri tipi olsun.yine aynı query nin oncalculate event ına adoquery1.fields.fieldbyname('hissehesaplanan').ascurrency:=strtofloat(adoquery1.fields.fieldbyname('toplamhisse').asstring);şeklinde bi satır kod yazılacak.

  • Burak 19 Şubat 2011, 00:00

    mevcut SQLselectsum(cast(hisse as money)) toplamhisse,sum(cast(pay as money)) toplampay,sum(cast(sermay​e as money)) toplamsermayeşeklindeydi, bunun için delphide kaç satır kod yazman lazım.. dediğin fonksiyonla kullanabilmek için??

  • Orhan 19 Şubat 2011, 00:00

    delphide bunun için 5 satırı geçmez. delphide query componentine fazladan calculated alan eklenecek. adı hissehesaplanan​ olsun ve currency veri tipi olsun.yine aynı query nin oncalculate event ına adoquery1.field​s.fieldbyname('​hissehesaplanan​').ascurrency:=​strtofloat(adoq​uery1.fields.fi​eldbyname('topl​amhisse').asstr​ing);şeklinde bi satır kod yazılacak.

TeamViewer ile İnternet üzerinden Uzaktan Erişim ve Destek Sekercioglu.eu Uzaktan Yardım
Ammyy Uzaktan Yardım
WinRAR
WEBMAIL Google PageRank Checker
Twitterda Takip Edin! Twitterda Takip Edin!
Twitter

Üye Paneli

Son Yazılar

Kategoriler

Son Yorumlar