Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2010-10-18 18:20:38

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Zamiana spacji - dziwny problem

Witam! Mam taki problem odnośnie usuwania spacji:

Mam dane w bazie Mysql'a a dokładnie chodzi mi o kolumnę typu varchar w której mam wczytane kwoty:

np: 1 788.99

chciałbym usunąć tą spację pomiędzy 1 i 7 ( rekordów oczywiście jest bardzo dużo z różnymi kwotami ) ale kombinuje już pare godzin i niewiem co jest grane;

Najpierw próbowałem :

UPDATE tabelka SET kwota = replace(kwota, " ", "")

czy np UPDATE tabelka SET kwota = TRIM(kwota)

ale nic to nie daje. Oczywiście jeżeli inne kolumny próbuję tą metodą zamienić to jest OK!

Czyli wygląda na to że to nie jest spacja - tylko pytanie co??

Próbowałem także z poziomu php:

Kod:

$zapytanie = "SELECT kwota FROM tabelka";
$wykonaj = mysql_query($zapytanie); 

while($wiersz=mysql_fetch_array ($wykonaj))
 { 
 echo $wiersz['kwota']."<br>";
 $nowy = $wiersz['kwota'];

     $tescik = str_replace(" ", "", $nowy);
   //         $tescik = trim($nowy);
                       echo $tescik."<br>";
                              echo "TO jest test";
 }

Ale wyświetla jedno pod drugim to samo - nie usuwa spacji.

Jedna rzecz jaką udało mi się zauważyć ( jak widać specjalnie dorzuciłem echo "TO jest test"; )
jak zmienię pod firefoxem kodowanie w widoku na UTF-8 to w tych kwotach w miejscach gdzie jest niby ta spacja
pojawia mi się znak - � czyli:

1�788.99
1�788.99

a pod spodem zwyczajne:

TO jest test
( bez żadnych dziwnych znaków tam gdzie spacje ) w związku z czym podejrzewam właśnie że to nie spacja jest w tych kwotach.

Spotkał się ktoś może z podobnym problemem??


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#2  2010-10-18 19:27:46

  winnetou - złodziej wirków ]:->

winnetou
złodziej wirków ]:->
Skąd: Jasło/Rzeszów kiedyś Gdańs
Zarejestrowany: 2008-03-31
Serwis

Re: Zamiana spacji - dziwny problem

może naookoło ale powinno zadziałać: rekord po rekordzie wczytujesz sobie kwotę, następnie konwersja to stringa, wycięcie spacji (nie pamiętam jak się funkcja nazywa bo php wieki nie używałem), wrzucenie nowej wartości do tabeli. Odpowiedni fragment kodu w bashu :))

Kod:

echo "SELECT kwota FROM tabelka" |mysql -uUSER -pPASS |while read KWOTA
do
NOWA_KWOTA=$(echo "$KWOTA" |tr -d " ")
echo "UPDATE tabelka SET kwota=\"$NOWA_KWOTA\" WHERE (tu musisz sobie warunek wymyślić :P)" |mysql -uUSER -pPASS
done

Może nie jest to jakiś mega optymalny kod ale działający ;) przynajmniej u mnie działa podobny ;) Tak wiem chory jestem używać basha do obsługi mysqla ale tak mi było wygodnie i po drodze ;]


LRU: #472938
napisz do mnie: ola@mojmail.eu
Hołmpejdż | Galerie | "Twórczość" || Free Image Hosting

Offline

 

#3  2010-10-18 20:14:16

  lessmian - Użytkownik

lessmian
Użytkownik
Skąd: Kraków
Zarejestrowany: 2009-09-25

Re: Zamiana spacji - dziwny problem

Kod:

mysql> CREATE TABLE test(test varchar(10));
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO test VALUES('test test');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT test FROM test;
+-----------+
| test      |
+-----------+
| test test | 
+-----------+
1 row in set (0.00 sec)

mysql> UPDATE test SET test=REPLACE(test, ' ','');
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> SELECT test FROM test;
+----------+
| test     |
+----------+
| testtest | 
+----------+
1 row in set (0.00 sec)

A teraz pokaż jak Ty to robisz i co Ci nie działa ;)

Tak BTW, do trzymania wartości liczbowych to są jednak lepsze typy niż varchar ;)

Ostatnio edytowany przez lessmian (2010-10-18 20:16:17)

Offline

 

#4  2010-10-28 12:51:36

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Zamiana spacji - dziwny problem

w Bashu po wyświetleniu w miejscu gdzie normalnie jest spacja pokazuje się znak -

Wie ktoś może co to za znak i jak go zamienić??

Czyli generalnie kwota wygląda tak: 1▒788.99


debbie
Wrócę jak zjem zupę i drugie danie - tyle
a oto ta zupa:

Offline

 

#5  2010-10-28 13:57:34

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: Zamiana spacji - dziwny problem

Unicode wyróżnia przynajmniej 16 różnych spacji. To pewnie któraś z nich.

Ja bym ją w terminalu zaznaczył i wkleił (shift+insert lub środkowy klawisz myszy) w odpowiednim miejscu w sedzie czy czymś.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)