ďťż

[mysql] złe sortowanie

       

Podstrony


telcocafe

Proszę spojrzeć na tą stronę:
http://www.podulka.c...amp;sortuj=cena
Produkty powinny sie posortowac wedlug ceny. I tak do jakiegos momentu jest ok, dochodzi do chyba 300 zł, i nagle wskakuje jakis produkt za 52 zł. O co chodzi? Czemu sie zle sortuje? Zapytanie sql ma dopisek:

ORDER BY 'cena'

Więc nie rozumiem...




Proszę spojrzeć na tą stronę:
http://www.podulka.c...amp;sortuj=cena
Produkty powinny sie posortowac wedlug ceny. I tak do jakiegos momentu jest ok, dochodzi do chyba 300 zł, i nagle wskakuje jakis produkt za 52 zł. O co chodzi? Czemu sie zle sortuje? Zapytanie sql ma dopisek:

ORDER BY 'cena'

Więc nie rozumiem...

jaki typ ma "cena" w bazie danych? musi być float


jaki typ ma "cena" w bazie danych? musi być float
Decimal jak juz.

Wielkie dzięki, teraz wszystko gra ;]

Tyle ze po zamianie typu z varchar na decimal wszystkie zera mi poznikały :( tzn. zamiast 23,00 mam 23. Zastanawiam sie, czy w przypadku np. 25,30 bede mial tą końcowke 30? czy musze wybrac jakis inny typ danych?




Wielkie dzięki, teraz wszystko gra ;]

Tyle ze po zamianie typu z varchar na decimal wszystkie zera mi poznikały :( tzn. zamiast 23,00 mam 23. Zastanawiam sie, czy w przypadku np. 25,30 bede mial tą końcowke 30? czy musze wybrac jakis inny typ danych?

A co tu się zastanawiać? Sprawdź.

To jest sklep internetowy i nie moge sobie tak po prostu ceny zmienic, dlatego pytam.

Zmień na float - to jest typo do liczb zmiennoprzecinkowych (czyli ułamkowych)

możesz zastosować np. float(6) - w nawiasie podajesz do ilu cyfr może mieć zapisana liczba, opcjonalnie możesz jeszcze dać po przecinku drugą liczbę, będzie to informacja ile cyfr maksym,alnie ma być po przecinku, np 2


Zmień na float - to jest typo do liczb zmiennoprzecinkowych (czyli ułamkowych)
NIE TRZYMA SIE KWOT WE FLOATACH!!!!!

http://dev.mysql.com...eric-types.html
"The DECIMAL and NUMERIC data types are used to store exact numeric data values. In MySQL, NUMERIC is implemented as DECIMAL. These types are used to store values for which it is important to preserve exact precision, for example with monetary data."

Ee nie rozumiem, co przeszkadza w tym float? Kwota to liczba, nie?


Ee nie rozumiem, co przeszkadza w tym float? Kwota to liczba, nie?
Float to liczba przyblizona i przy operacjach na nich moze dojsc do zaokraglen i utraty czesc informacji.
Dlatego nie uzywa sie ich do przetrzymywania danych finansowych. Powinien byc np. decimal(15,4).

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.