Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [MySql] sostituzione caratteri

    salve

    ho una tabella "specifiche" con campi : cod_etichetta che è una varchar;
    descrizione che è un varchar ; cod_cliente che è un integer;

    ora vorrei modificare per tutte le righe della tabella il campo cod_etichetta sostituendo un codice con "12345-123456-12" con "12345 123456 12", in poche parole eliminando i trattini.
    però senza sostituire i codici tipo "123-12345".

    come posso fare quindi a sostituire solo il formato interessato con una query?

    ciao grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select 
    cod_etichetta,
    replace(cod_etichetta,'-',' ') as rimossi from tabella
    Se il risultato è quello atteso, converti la query in update

    codice:
    update tabella set cod_etichetta = replace(cod_etichetta,'-',' ')

  3. #3
    il mio problema è che devo sostituire i trattini solo nel codice con il formato : 5numeri-6numeri-2numeri . non negli altri formati dove ci sono i trattini!

  4. #4
    facendo cosi

    SELECT cod_etichetta, replace(cod_etichetta,'-',' ') as rimossi FROM specifica where cod_etichetta like '%-%-%';


    l'unico problema che mi trova anche codici tipo 12-1234-12345.

    come posso risolvere?

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Per sicurezza prova su una copia di backup della tabella

    codice:
    update tabella set cod_etichetta = replace(cod_etichetta,'-',' ')
    where cod_etichetta regexp '^[0-9]{5}-[0-9]{6}-[0-9]{2}$'

  6. #6
    grazie volevo solo chiederti nel caso gli ultimi due numeri, voglio inserire anche le lettere, cosi va bene?


    update tabella set cod_etichetta = replace(cod_etichetta,'-',' ')
    where cod_etichetta regexp '^[0-9]{5}-[0-9]{6}-[0-9,a-z]{2}$'

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Sì. se fai la select te ne accerti subito.

  8. #8
    tutto ok , grazie di tutto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.