Sostituire tutte le occorrenze di una parola in un frase

Come posso sostituire tutte le occorrenze (ripetizioni) di una parola all'interno di un campo stringa con un altra parola utilizzando il linguaggio T-SQL? Sto lavorando infatti con Microsoft Sql Server.

Risolta 2
Sql Server 18-09-2019 2 Risposte 2944 Visite +1
Andrea Recina

Andrea Recina

Autore di questa domanda

Risposte ( 2 approvate )

  1. Filippo De Buglia
    0
    18-09-2019 18:36:05
    Rispondi

    Così come riportato nella documentazione ufficiale MSDN, per sostituire occorrenze di stringhe all'interno di un'altra stringa devi usare la funzione REPLACE, questa è la sua firma:

    REPLACE ( string_expression , string_pattern , string_replacement )

    il seguente esempio sostituisce (replaces) la stringa cde presente in abcdefghi con xxx. La query dell'esempio sarà la seguente:

    SELECT REPLACE('abcdefghicde','cde','xxx'); 

    Questo è l'output del risultato della query:

    ------------  
    abxxxfghixxx  
    (1 row(s) affected)
  2. Claudio Zarpone
    0
    18-09-2019 18:29:57
    Rispondi

    Prova a lanciare una nuova query come questa:

     DECLARE @Frase varchar(1000)
     SELECT @Frase = 'xy c1 xy c3 xy c4 xy c6'
     SELECT REPLACE(@Frase, 'xy', 'Z')

    il risultato sarà il seguente:

    Z c1 Z c3 Z c4 Z c6

    che presumo sia il comportamento da te desiderato.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

 Domanda Precedente

 Elenco Domande 

Domanda Successiva