Mysql Veri Tipi Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EmQceR
    EmQceR's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek

    Merhaba müridler

    Kuyumcuya internet sitesi yapıyorum.Biliyosunuz ki altın fiyatları sürekli değişiyor.

    Onun için Fiyat alanım şu şekilde 520,15 TL olarak kayıt ediyorum.

    Altın fiyatları arttığı zaman mysql şu şekilde update çalıştırıp fiyatların tümünde oynama yapmak istiyorum.

    update urunler

    set Fiyat = Fiyat + 20

    bu şekilde yaptığım zaman alan kısmı böyle oluyor 540 TL virgülden sonrasını atıyor.

    bu arada veri tipim varchar , daha önce double , decimal falan denedim fiyatları nokta şeklinde yani 420.55 olarak yazdım ama veritabanına eklerken 420 olarak ekledi.

    sayı veri tiplerinde bir türlü başaramadım olayı.

    tekrar varchara geçtim onda da küsüratlı sayıyı atıyor.update denemelerim bunlar

    update urunler

    set Fiyat = Fiyat + '20,00'

    update urunler

    set Fiyat = Fiyat + '20,'

    ama yemedi bir türlü, nasıl çıkarım bu işten?

     


    Bu Yüce Türk Milleti ne ihanetler gördü hepsinin üstesinden gelmeyi başararak tarihe nice zaferler yazdırdı. Bu Millet Kuva-yı milliye hareketini yeniden başlatır. Sivas Kongresini yeniden toplar, Ya İstiklal, Ya Ölüm diye haykırır ve gereğini yapar. Türk Milleti ihaneti ve hainleri hiç affetmez. Dileğimiz odur ki bu iş sandıkta bitsin, aksi halde "sürüye dalmayı göze alan Kurt, çobanın da, köpeğinde hesabını yapmaz."
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    buzukatak
    buzukatak's avatar
    Kayıt Tarihi: 27/Haziran/2010
    Erkek

    Kullanman gereken veri tipi kesirli sayı saklayabilen Float, Decimal gibi alanlar olmalı, varchar hiç uygun değil.
    Bunları denediğini söylemişsin ama acaba tam sayı dışında kesir uzunluğu da belirttin mi?
    Ben Decimal(13,2) ile bir örnek hazırladım. 13 tam sayı kısmı, 2 ise kesir.
    Örneği Fiddle'dan inceleyebilirsin : http://sqlfiddle.com/#!2/9e96c/1


    anlıyorum.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    WebJas
    WebJas's avatar
    Kayıt Tarihi: 15/Eylül/2009
    Erkek

     

    update urunler from fiyat = fiyat*(1.2,5) şeklinde denesen ?

    WebJas tarafından 10/May/13 18:31 tarihinde düzenlenmiştir

    bilmediklerimi ayaklarımın altına alsam başım göğe ererdi..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unbalanced
    unbalanced's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    veri tipi olarak double,float seçebilirsin hocam. aradaki işaret de virgül değil nokta olacak. ayıca koyduğun tek tırnakları da kaldır, onlar string türevleri için geçerli


    Aydınlık sabahı düşün ve durgun karanlık geceyi. Rabb'in seni ne unuttu ne de darıldı. Öteki dünya senin için (hayatının) bu ilk bölümünden mutlaka daha iyi olacak! Ve zamanı geldiğinde Rabb'in sana (kalbinden geçeni) bağışlayacak ve seni hoşnut kılacak. O seni yetim olarak bulup bir sığınak vermedi mi? Ve yolunu kaybetmiş görüp seni doğru yola ulaştırmadı mı? İhtiyaç içinde bulup seni tatmin etmedi mi? Öyleyse yetime haksızlık yapma, yardım isteyeni asla geri çevirme, ve (her zaman) Rabb'ini(n) nimetlerini an.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    sorun çözülmüş zaten de ben o sqlfiddle a nasıl daha önce denk gelmemişim lan sadece jsfiddle var sanıyodum:|

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DrKill
    DrKill's avatar
    Kayıt Tarihi: 10/Mart/2004
    Erkek

    Hocam veritabanında Altının net gram fiyatını kaydet. Ürünlerde ise ürün ismi ve gramajı şeklinde kaydet. Kullanıcıya gösterirken ürün fiyat : ürüngramaj* altıngram

    şeklinde göster bence. Çünkü her gram değişikliğinde tüm ürünleri update etmen lazım. Diğer türlü sadece tek bir satır güncelleme yaparak bütün ürünlerin fiyatlarını güncellemiş olursun.


    Bu imzayı her gördüğünüzde 4gb kotanızın 0,00000358559191226959228515625 azalmaktadır. Bilerek ve istenerek bu imza yapılmıştır. Amaç kotanızı sömürmektir
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EmQceR
    EmQceR's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek
    buzukatak bunu yazdı

    Kullanman gereken veri tipi kesirli sayı saklayabilen Float, Decimal gibi alanlar olmalı, varchar hiç uygun değil.
    Bunları denediğini söylemişsin ama acaba tam sayı dışında kesir uzunluğu da belirttin mi?
    Ben Decimal(13,2) ile bir örnek hazırladım. 13 tam sayı kısmı, 2 ise kesir.
    Örneği Fiddle'dan inceleyebilirsin : http://sqlfiddle.com/#!2/9e96c/1


    Tamadır hocam bu tam aradığım, ancak dediğin sayı tipinde olması lazım ama decimal'in o şekilde kullanıldığını bilmiyorum iyi oldu.

    burda 13 tam sayı kısmı 13 tane rakam girilebilir dimi?


    Bu Yüce Türk Milleti ne ihanetler gördü hepsinin üstesinden gelmeyi başararak tarihe nice zaferler yazdırdı. Bu Millet Kuva-yı milliye hareketini yeniden başlatır. Sivas Kongresini yeniden toplar, Ya İstiklal, Ya Ölüm diye haykırır ve gereğini yapar. Türk Milleti ihaneti ve hainleri hiç affetmez. Dileğimiz odur ki bu iş sandıkta bitsin, aksi halde "sürüye dalmayı göze alan Kurt, çobanın da, köpeğinde hesabını yapmaz."
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EmQceR
    EmQceR's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek
    DrKill bunu yazdı

    Hocam veritabanında Altının net gram fiyatını kaydet. Ürünlerde ise ürün ismi ve gramajı şeklinde kaydet. Kullanıcıya gösterirken ürün fiyat : ürüngramaj* altıngram

    şeklinde göster bence. Çünkü her gram değişikliğinde tüm ürünleri update etmen lazım. Diğer türlü sadece tek bir satır güncelleme yaparak bütün ürünlerin fiyatlarını güncellemiş olursun.


    hocam günlük fiyata göre güncellemiycem altın +5 veya -5 TL düştüğünde güncelleyeceğim onun için toplu update daha iyi gibi geldi bana, senin dediğinide düşünüştüm.


    Bu Yüce Türk Milleti ne ihanetler gördü hepsinin üstesinden gelmeyi başararak tarihe nice zaferler yazdırdı. Bu Millet Kuva-yı milliye hareketini yeniden başlatır. Sivas Kongresini yeniden toplar, Ya İstiklal, Ya Ölüm diye haykırır ve gereğini yapar. Türk Milleti ihaneti ve hainleri hiç affetmez. Dileğimiz odur ki bu iş sandıkta bitsin, aksi halde "sürüye dalmayı göze alan Kurt, çobanın da, köpeğinde hesabını yapmaz."
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    buzukatak
    buzukatak's avatar
    Kayıt Tarihi: 27/Haziran/2010
    Erkek
    EmQceR bunu yazdı

    Tamadır hocam bu tam aradığım, ancak dediğin sayı tipinde olması lazım ama decimal'in o şekilde kullanıldığını bilmiyorum iyi oldu.

    burda 13 tam sayı kısmı 13 tane rakam girilebilir dimi?

    Ben onu yanlış ifade etmişim düzelteyim hemen. 13 toplam uzunluk. 2'si kesir için ayrıldığından en uzun 11 basamaklı tam sayı eklenebilir.


    anlıyorum.
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    EmQceR
    EmQceR's avatar
    Kayıt Tarihi: 14/Kasım/2007
    Erkek
    buzukatak bunu yazdı
    EmQceR bunu yazdı

    Tamadır hocam bu tam aradığım, ancak dediğin sayı tipinde olması lazım ama decimal'in o şekilde kullanıldığını bilmiyorum iyi oldu.

    burda 13 tam sayı kısmı 13 tane rakam girilebilir dimi?

    Ben onu yanlış ifade etmişim düzelteyim hemen. 13 toplam uzunluk. 2'si kesir için ayrıldığından en uzun 11 basamaklı tam sayı eklenebilir.


    anladım hocam çok teşekkürler


    Bu Yüce Türk Milleti ne ihanetler gördü hepsinin üstesinden gelmeyi başararak tarihe nice zaferler yazdırdı. Bu Millet Kuva-yı milliye hareketini yeniden başlatır. Sivas Kongresini yeniden toplar, Ya İstiklal, Ya Ölüm diye haykırır ve gereğini yapar. Türk Milleti ihaneti ve hainleri hiç affetmez. Dileğimiz odur ki bu iş sandıkta bitsin, aksi halde "sürüye dalmayı göze alan Kurt, çobanın da, köpeğinde hesabını yapmaz."
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    renegadealien
    renegadealien's avatar
    Üstün Hizmet Madalyası Savaş Madalyası Başarı Madalyası Üstün Hizmet Madalyası Developer Madalyası
    Kayıt Tarihi: 23/Mart/2003
    Erkek
    buzukatak bunu yazdı

    Kullanman gereken veri tipi kesirli sayı saklayabilen Float, Decimal gibi alanlar olmalı, varchar hiç uygun değil.
    Bunları denediğini söylemişsin ama acaba tam sayı dışında kesir uzunluğu da belirttin mi?
    Ben Decimal(13,2) ile bir örnek hazırladım. 13 tam sayı kısmı, 2 ise kesir.
    Örneği Fiddle'dan inceleyebilirsin : http://sqlfiddle.com/#!2/9e96c/1

    oha ne güzel siteymiş yahu :|


    Sanıyorum kendi atasözümü yaptım, kaynak belirterek kullanabilirsiniz. 10.05.2013 tarihli google arama sonucu : Aradığınız - "herşeyin hayırlısı rampanın bayırlısı" - ile ilgili hiçbir arama sonucu mevcut değil. Not : Söyleyeni belli olduğu için(Ben) atasözü değil, özlüsöz oluyormuş, dolayısı ile kendi özlüsözümü yapmış oldum :)
Toplam Hit: 1225 Toplam Mesaj: 12