Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 23.07.2005 Ostrzeżenie: (0%)
|
Witam
Mam problem jak ustawić typ kolumny żeby prawidłowo został zaimportowany plik textowy, gdzie są zawarte liczby zmiennoprzecinkowe (z przecinkiem). Gdy ustawiam kolumnę na np. decimal (dł. jedno miejsce po przecinku) to zamiast dziesiętnej mam po kropce 0. Gdy ustawiam kolumnę na tekst import jest prawidłowy, czyli cała liczba i po przecinku dziesietną. Druga opcja nie za bardzo mi odpowiada do dalszych działań matemat. typu sortowanie, np jak jest 999,4 i 1001,5 to po sortowniu twierdzi że pierwsza jest większa od drugiej, bo z 1001,5 tak jakby przesuwał przecinek i wychodzi 1,001.5 Chyba że jest jakis sposób na traktowanie liczby z kolumny text jako liczby zmienoprzcinkowe? pozdr. elj |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%)
|
rozwiazan w Twoim przypadku (w zaleznosci od tego jak dokladnie wyglada plik, z ktorego importujesz dane)
przykladowe rozwiazanie jest nastepujace jezeli przecinek w Twoim pliku wystepuje tylko jeden raz (do oddzielenia wartosci dziesietnych) mozesz zrobic to w nastepujace sposob 1) wykorzystac narzedzie dostarczane wraz z systemem zarzadzania baza danych o nazwie replace (znajduje sie w katalogu bin) i zamienic kropke na przecinek i strumien wyjsciowy przekierowac do drugiego pliku Kod replace "," "." < c:\dane.txt > c:\dane2.txt 2) nastepnie majac tak przygotowane dane mozesz bez problemu importowac do bazy danych Kod mysql -u root -e "LOAD DATA INFILE 'c:\dane2.txt' INTO TABLE test.import FIELDS TERMINATED BY ';'" #) przykladowy plik zrodlowy jest nastepujacy Kod 1;1,2343 2;112,123213 3;1212,23 4;123121,123 inne rozwiazanie to napisanie skryptu ktory pobierza zawartosc pliku a nastepnie doda do tabeli odpowiednie wartosci napisz jak duzy masz ten plik, podaj kilka przykladowych wierszy - wowczas cos wiecej bede mogl doradzic i napisac |
|
|
|
elj import pliku text 17.08.2005, 01:52:26
SongoQ Zle sortuje poniewaz sortuje po polu tekstowym, zr... 17.08.2005, 08:54:00
elj Mój plik
KodData i czas Nr seryjny T1 T2 RH1 RH2 ... 17.08.2005, 19:57:31 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 03:49 |