![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 109 Pomógł: 0 Dołączył: 30.07.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Mam w bazie danych serię danych. Są to liczby zapisane w polu typu varchar z przecinkiem jako znak dziesiętny. Do wyświetlania tych danych nie stanowiło to problemu. Niestety teraz trzeba to sumować. Niby zadanie proste. Wybrałem sposób z funkcją str_replace, a następnie wynik funkcji dodaję i już. I wszystko byłoby pięknie, gdyby nie suma, która się wyświetla. Otóż pojawią się tam po kilku miejscach po przecinku 1. w danych tego nie ma. Zacząłem sprawdzać po stronie bazy danych. Wynik zapytania select sum(replace(pole, ',', '.') from tabela; daje ten sam efekt. Co jest grane?(IMG:style_emoticons/default/questionmark.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę uważasz, że VARCHAR to dobry typ dla liczb zmiennoprzecinkowych?
https://www.google.com/search?q=liczby+zmie...zecinkowe+błędy Jeśli chcesz mieć superdokładność, to https://dev.mysql.com/doc/refman/8.0/en/fix...oint-types.html, jeśli nie, i akceptujesz takie błędy, to nadal lepszym typem będzie FLOAT lub DOUBLE. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 03:21 |