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

Nahrazení pouze n-té instance znaku

Chcete-li nahradit první výskyt znaku, doporučil bych použít STUFF a CHARINDEX funkcí. STUFF vloží řetězec do jiného řetězce. Vymaže zadanou délku znaků v prvním řetězci na počáteční pozici a poté vloží druhý řetězec do prvního řetězce na počáteční pozici.

DECLARE @str varchar(100) = '^1402 WSN NIAMLAB^teertS htimS 005'
SELECT STUFF(@str, CHARINDEX('^', @str), 1, '&')

Všimněte si, že můžete také použít STUFF v dotazu takto:

SELECT STUFF(<yourcolumn>, CHARINDEX('^', <yourcolumn>), 1, '&')
FROM <yourtable>


  1. Základní monitorování PostgreSQL – část 3

  2. Vytvoření sloupce Timestamp pomocí ormlite

  3. jak zkontrolovat, zda je databáze konzistentní po nedokončené obnově

  4. Google Vis komentoval časovou osu z databáze SQL pomocí problému PHP JSON