Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]MySql - typ danych na liczby z przecinkiem
pompio
post 25.03.2018, 15:14:39
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.09.2017

Ostrzeżenie: (0%)
-----


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?

Go to the top of the page
+Quote Post
viking
post 25.03.2018, 15:35:24
Post #2





Grupa: Zarejestrowani
Postów: 5 483
Pomógł: 934
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Wpisz z kropką.


--------------------
Go to the top of the page
+Quote Post
pompio
post 25.03.2018, 17:00:46
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.09.2017

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
SmokAnalog
post 25.03.2018, 17:18:41
Post #4





Grupa: Zarejestrowani
Postów: 1 515
Pomógł: 243
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Pyton_000
post 25.03.2018, 17:36:28
Post #5





Grupa: Zarejestrowani
Postów: 7 862
Pomógł: 1381
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


I kolejna kwestia jakiej precyzji masz double.
Go to the top of the page
+Quote Post
SmokAnalog
post 25.03.2018, 17:48:28
Post #6





Grupa: Zarejestrowani
Postów: 1 515
Pomógł: 243
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Skoro nie ma podanych w nawiasie długości, to standardowo 8 bajtów.
Go to the top of the page
+Quote Post
pompio
post 25.03.2018, 17:57:18
Post #7





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.09.2017

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
SmokAnalog
post 25.03.2018, 18:36:52
Post #8





Grupa: Zarejestrowani
Postów: 1 515
Pomógł: 243
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
pompio
post 25.03.2018, 18:40:57
Post #9





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.09.2017

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
SmokAnalog
post 25.03.2018, 18:43:56
Post #10





Grupa: Zarejestrowani
Postów: 1 515
Pomógł: 243
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ale chodzi o stworzenie narzędzie do wrzucania co jakiś czas czy masz po prostu teraz trochę rekordów do wrzucenia jednorazowo?
Go to the top of the page
+Quote Post
pompio
post 25.03.2018, 19:27:02
Post #11





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 9.09.2017

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
SmokAnalog
post 25.03.2018, 23:02:53
Post #12





Grupa: Zarejestrowani
Postów: 1 515
Pomógł: 243
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Jak to jednorazowa robota to zapisz sobie jak lubisz i w edytorze tekstu pozamieniaj wyrażeniami regularnymi.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.02.2020 - 22:28