- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- mysql sostituzione stringhe di testo
-
mysql sostituzione stringhe di testo
ciao ragazzi, sono di nuvoo qui a rompervi, avrei bisogno di sapere se è possibile fare una cosa del genere:
580 record in una tabella con 10 campi. devo cambiare il campo 8 su tutte le righe. il campo 8 è fatto in maniera seguente riga 1 25100 milano, riga2 80100 napoli, riga3, 00195 roma e cosi via per tante citta e tanti cap.dato che ho creato un campo cap a parte vorrei rimuovere dal campo 8 i primi 5 caratteri che rappresentano il cap praticamente oppure i primi 6 cosi rimuovo pure lo spazio. tramite php dovrei usare il str replace ma non è adatta allo scopo perchè dovrei conoscere esattamente i valori da sostituire.
che cosa posso usare.
grazie
-
In PHP puoi usare il comando substr().
In particolare
[php]substr('80100 Napoli', 6)[/php]
ti restituirebbe 'Napoli'Ma se vuoi puoi fare direttamente da phpMyAdmin
UPDATE `tabella` SET `cap`= LEFT(`citta`, 5), `citta`=SUBSTR(`citta`, 6);
-
Riprendo questa discussione che ha gia' i tags giusti:
Devo sostituire delle stringhe di testo usando la solita query:
UPDATE table_name SET field = REPLACE(field, 'old', 'new');
il problema e' che all'interno del campo di testo deve essere sostituito solamente "old" e non ad esempio old.jpg oppure olfriend e via dicendo.
ho provato WHERE field = 'old' ma non funziona. Devo dire che nel testo, la parola old si trova ad esempio in una tabella per cui risulta in qhesto modo:
<td>old</td>ci sto sbattendo la testa da un po....
-
Quindi nel campo del DB hai salvato ad esempio <td>old</td> e non old?
Nel tuo caso REPLACE non ti aiuta, devi utilizzare un WHERE necessariamente, ma se non hai un pattern comune la vedo dura.