Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MySql mnożenie wartości
Forum PHP.pl > Forum > Bazy danych > MySQL
propage
wykonuje zapytanie typu

update featureValueML set `featureValue_name` = `featureValue_name` * 100 WHERE `featureValue_id` = 8

wartość przed tą operacją to 17.6, a po operacji

1760.0000000000002

skąd bierze się "0.0000000000002" ?

dodam że pole featureValue_name ma typ VARCHAR i tak musi pozostać.


przy przemnożeniu przez 10 mam prawidłową wartośc 176, gdy przemnożę przez 1000 to też mam poprawną wartość 1760, więc to bardzo dziwna sprawa. round załatwia sprawę.
Crozin
1. Standardowa lektura: https://www.google.pl/search?q=what+every+p...me&ie=UTF-8
2. Trzymanie liczb w VARCHAR-ze? Dlaczego?
propage
murze w tej tabeli trzymać liczby jako varchar to bo sa cechy, a cechami raz mogą być liczby a mogą być też słowa.
Ale w przypadku gdy SA to liczby muszą zachowywać się jak liczby, a nie jak słowa.
Zmienianie typu pola w zależności czy akurat dana wartość jest numeryczna, czy nie dość znacznie skomplikuje mi prace, ale jeśli nie ma innego rozwiązania to tak trzeba będzie to zrobić.
Pyton_000
Kod
SELECT CAST('17.6' AS DECIMAL(10,2))*100;

Tylko musisz sobie jakiś warunek na to zrobić, albo obok dawać kolumnę z org. wartością. I jeśli ta z lewej == 0.00 to bierz war. z prawej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.