sql >> Databáze >  >> RDS >> Sqlserver

Nahrazení řetězce jiným řetězcem v SQL Server (T-SQL)

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.


  1. Jak vypsat všechny uložené procedury v databázi Oracle

  2. BEGIN - END blokové atomické transakce v PL/SQL

  3. Můžete mít v SQL logiku if-then-else?

  4. Vysvětlení JSONB představeného PostgreSQL