Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]MySql - typ danych na liczby z przecinkiem
Forum PHP.pl > Forum > Przedszkole
pompio
Witam,
Jestem całkowicie początkujący w Mysql.
Nie potrafię zrozumieć pewnej rzeczy.
W tabeli są kolumny:
id_prac - int(11)
data - date
wydajnosc - double

Nie mogę wpisywać wartości z przecinkami do ostatniej kolumny.
Po zapodaniu komendy np.:
insert into pracownicy.wydajnosc values ('1','2018-01-02','156,37');
dostaję komunikat:
SQL Error [1265] [01000]: Data truncated for column 'wydajnosc' at row 1
SQL Error [1265] [01000]: Data truncated for column 'wydajnosc' at row 1
SQL Error [1265] [01000]: Data truncated for column 'wydajnosc' at row 1
SQL Error [1265] [01000]: Data truncated for column 'wydajnosc' at row 1
Data truncated for column 'wydajnosc' at row 1
Data truncated for column 'wydajnosc' at row 1
Gdy wpiszę wartosc w ostatniej kolumnie bez przecinka, np.'156', to bez problemu się wpisze.
Gdzie robię błąd?

viking
Wpisz z kropką.
pompio
Cytat(viking @ 25.03.2018, 16:35:24 ) *
Wpisz z kropką.


Przepraszam, i to jest rozwiązanie problemu?
Przecież można w jakiś sposób wpisywać z przecinkiem liczby.
Ja planuję te dane przenosić do Excela potem, więc raczej muszą być z przecinkiem.
SmokAnalog
Tak, to jest rozwiązanie problemu smile.gif Przecinek nie jest w żadnym znanym mi języku programowania separatorem części ułamkowej liczby. W Polsce używamy przecinka, ale np. w USA używa się kropki. Jeśli zaimportujesz z kropką do Excela, to Excel powinien sam Ci zamienić na przecinek. Taka sprytna bestia.
Pyton_000
I kolejna kwestia jakiej precyzji masz double.
SmokAnalog
Skoro nie ma podanych w nawiasie długości, to standardowo 8 bajtów.
pompio
Cytat(SmokAnalog @ 25.03.2018, 18:18:41 ) *
Tak, to jest rozwiązanie problemu smile.gif Przecinek nie jest w żadnym znanym mi języku programowania separatorem części ułamkowej liczby. W Polsce używamy przecinka, ale np. w USA używa się kropki. Jeśli zaimportujesz z kropką do Excela, to Excel powinien sam Ci zamienić na przecinek. Taka sprytna bestia.

Dziękuję za cierpliwość i wyjaśnienie. ;-)
Trochę lipnie sie wpisuje dane, gdy trzeba wpisać kropkę, zamiast przecinka który jest przy klawiaturze numerycznej.
A jak zatem wpisuje się tysiące i wyżej?
1234.45
czy
1 234.45
SmokAnalog
Bez żadnych ozdobników - tylko XXX.YY. To jest surowy format liczbowy. Jeśli korzystasz z jakiegoś własnego narzędzia do wrzucania tych danych, nic nie stoi na przeszkodzie, żebyś wpisywał jak lubisz i zrobił konwersję do formatu XXX.YY.
pompio
Cytat(SmokAnalog @ 25.03.2018, 19:36:52 ) *
Bez żadnych ozdobników - tylko XXX.YY. To jest surowy format liczbowy. Jeśli korzystasz z jakiegoś własnego narzędzia do wrzucania tych danych, nic nie stoi na przeszkodzie, żebyś wpisywał jak lubisz i zrobił konwersję do formatu XXX.YY.

A to już chyba wyższa szkoła jazdy. ;-)
Jak dokonać takiej konwersji?
Mam trochę tych danych do wklepania i wiadomo, że imm wygodniej tym szybciej. ;-)
Może znasz jakieś sensowne poradniki w sieci?
SmokAnalog
Ale chodzi o stworzenie narzędzie do wrzucania co jakiś czas czy masz po prostu teraz trochę rekordów do wrzucenia jednorazowo?
pompio
Mam trochę rekordów teraz do wrzucenia.
Dane za pierwszy kwartał dla 11 osób.
Tak wogóle, jak mi się to spodoba trochę się pouczę SQLa.
SmokAnalog
Jak to jednorazowa robota to zapisz sobie jak lubisz i w edytorze tekstu pozamieniaj wyrażeniami regularnymi.
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.