V SQL Server můžete použít REPLACE()
funkce k nahrazení všech výskytů řetězce jiným řetězcem.
Funkce přijímá tři argumenty; řetězec obsahující řetězec, který má být nahrazen, řetězec, který má být nahrazen, a řetězec, který jej má nahradit.
Příklad
Zde je příklad k demonstraci.
SELECT REPLACE('Big dog', 'dog', 'cat');
Výsledek:
Big cat
Více výskytů
Jak již bylo zmíněno, REPLACE()
funkce nahradí všechny výskyty. Pokud se tedy řetězec, který má být nahrazen, objeví vícekrát, budou nahrazeny všechny.
SELECT REPLACE('Big dogs and little dogs', 'dog', 'cat');
Výsledek:
Big cats and little cats
Buďte opatrní
Při nahrazování textu se vyplatí být obezřetní. Pokud nebudete opatrní, můžete snadno získat nezamýšlené výsledky.
SELECT REPLACE('Very dogmatic', 'dog', 'cat');
Výsledek:
Very catmatic
Nahradit více znaků
Pokud se ocitnete v situaci, kdy vnořujete více REPLACE()
Chcete-li nahradit více znaků na různých místech v řetězci, zkuste použít TRANSLATE()
místo toho funkci. TRANSLATE()
funkce funguje podobně jako vnořené REPLACE()
funkcí, ale s malým rozdílem.