UPDATE HEDIYE_CARI SET K_PUAN=K_PUAN+: DLR_SONUC where KART_NO=:ID;
DLR_SONUC, K_PUAN DOUBLE PRECISION tipinde
DLR_SONUC degiskeni K_PUAN üstüne ekleniyor. DLR_SONUC değişkenine bir bölme işlemi sonucu atandığı için ondalık bir sayı ise virgülden sonra birdolu basamak alıyor. Virgülden sonra sadece 2 basamak almasını tipini değiştirmeden nasıl sağlıyabilirim?
stored procedurede bir sorun
veritabanınızı bilmiyorum ama cast komutu tip donusumu amacli bir cok veritabanında aynı sekli ile vardir. Sanırım bu sekilde istediginiz olacaktır.
Kod: Tümünü seç
UPDATE HEDIYE_CARI SET K_PUAN=cast(K_PUAN+: DLR_SONUC as numeric(10,2) where KART_NO=:ID;
Fahrettin Bey cok tesekkur ederim... Halletimistim ama mesaiden bi yarim saat once cozdugum icin foruma cvp yazma firsati bulamadim...
Cast komutuyla cozdum ancak ben su sekilde yapmistim:
DLR_SONUC=cast(DLR_SONUC, decimal(9,2))
UPDATE HEDIYE_CARI SET K_PUAN=K_PUAN+: DLR_SONUC where KART_NO=:ID;
numeric(10.2) ve decimal(9,2) birbirinden farkli midir?
birde sizin yazdiginiz sekliyle deniyecegim ptesi insallah...
Herkese kolay gelsin...
Cok tesekkurler
Cast komutuyla cozdum ancak ben su sekilde yapmistim:
DLR_SONUC=cast(DLR_SONUC, decimal(9,2))
UPDATE HEDIYE_CARI SET K_PUAN=K_PUAN+: DLR_SONUC where KART_NO=:ID;
numeric(10.2) ve decimal(9,2) birbirinden farkli midir?
birde sizin yazdiginiz sekliyle deniyecegim ptesi insallah...
Herkese kolay gelsin...
Cok tesekkurler
rica ederim...
numeric ile decimal farkli seyler degil. veritabanına gore birinde numeri digerinde decimal var oluyor olaiblir ya da her ikisi de var ve her ikisi de ayni isi yaptigi veritabanları da var... Yani tamamen ayni seyler....
veritabanınızı bilmiyorum ama bir cok veritabanı icin degisken kullanmadan yazdigim ornek seklide de calisacaktir.... benim kodda bir parantez unutmusum. Dogru hali sizin calisan cast komutu yazim bicimi ile birlikte soyle olmalı...
numeric ile decimal farkli seyler degil. veritabanına gore birinde numeri digerinde decimal var oluyor olaiblir ya da her ikisi de var ve her ikisi de ayni isi yaptigi veritabanları da var... Yani tamamen ayni seyler....
veritabanınızı bilmiyorum ama bir cok veritabanı icin degisken kullanmadan yazdigim ornek seklide de calisacaktir.... benim kodda bir parantez unutmusum. Dogru hali sizin calisan cast komutu yazim bicimi ile birlikte soyle olmalı...
Kod: Tümünü seç
UPDATE HEDIYE_CARI SET K_PUAN=cast(K_PUAN+: DLR_SONUC , decimal(10,2)) where KART_NO=:ID;