2012-04-10 15 views
17

Sto cercando un modo per rimuovere alcuni caratteri dalla fine di un campo nel mio database MySql.Come rimuovere caratteri dalla fine del campo nel database MySql

Dire che ho una tabella denominata "elementi" e c'è un campo chiamato "descrizioni", alcune di queste descrizioni hanno <br> alla fine. Potrebbe esserci un singolo caso, oppure potrebbero esserci 2-3 br > alla fine di quel campo.

Ho bisogno di trovare un modo attraverso PHP/MySql per tagliare questi <br>. Ci possono essere altri <br> nella descrizione che voglio conservare, sono solo quelli alla fine che ho bisogno di rimuovere.

So che posso scorrere ogni voce, controllare il tag alla fine, se esiste, rimuoverlo e quindi aggiornare il DB con il nuovo valore. Ma questo sembra il modo più lungo per farlo, e non sono sicuro di come raggiungere al meglio quello che sto cercando di fare.

+0

è possibile utilizzare anche rimuovere se neppure scusata hanno br in centro o iniziando –

risposta

28

non ho un'istanza mysql per testare, ma qualcosa di simile sarebbe probabilmente farlo:

UPDATE myTable 
    SET myCol = TRIM(TRAILING '<br>' FROM myCol); 

Date un'occhiata ad alcuni dei string functions.

10

È possibile utilizzare la funzione TRIM in mysql.

UPDATE items SET descriptions = TRIM(TRAILING "<br>" FROM descriptions) 

L'utilizzo del TRIM è here.

+0

avrei dovuto essere un po 'più chiaro nella mia interrogazione. I personaggi che volevo rimuovere erano
, indipendentemente da quanti. Non stavo letteralmente cercando di rimuovere "
". –

+0

Ho votato la tua risposta. –

+0

@SherwinFlight Ok, modifico la risposta. – yaronli

2

Utilizzare SUBSTRING e LENGTH per tagliare il campo. Qualcosa di simile

UPDATE MyTable SET MyField=SUBSTRING(MyField,1,LENGTH(MyField)-4) 
WHERE MyField LIKE '%<br>' 
+0

... E avresti eseguito la query ripetutamente finché non ci sono più voci uguali a 'LIKE '% br''. Intelligente! – octern

+1

L'argomento centrale su SUBSTRING dovrebbe essere uno, non uno zero. http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring –

+0

Ecco perché ho detto "qualcosa del genere" :). Grazie, modificato. – SteveCav

Problemi correlati