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

Nahraďte celé slovo pomocí nahrazení serveru ms sql

Zkuste toto:(Funguje podle očekávání)

declare @str varchar(500)
set @str = 'Good Good Good Good Good Good Good Good Luck Good GoodLuck MarkAndGood GoodMarkAnd MarkAndGood Good'
declare @replacedString varchar(500)
SET @replacedString = replace(@str,' Good ',' Better ')

SET @replacedString = replace(@replacedString,' Good ',' Better ')

SET @replacedString = CASE WHEN CHARINDEX('Good ', @replacedString) = 1 THEN 
                        STUFF(@replacedString, 1, Len('Good'), 'Better')
                      ELSE @replacedString END

SELECT CASE WHEN CHARINDEX(REVERSE(' Good'), REVERSE(@replacedString)) = 1 THEN 
                             Reverse(STUFF(Reverse(@replacedString), CHARINDEX(Reverse(' Good'), 
                             Reverse(@replacedString)), Len(' Good'), Reverse(' Better')))
                      ELSE @replacedString END AS A

Vstup:

Hodně štěstí Hodně štěstí Dobrý

Výsledek:

Better Better Luck Better GoodLuck Better



  1. Jak vrátit seznam podporovaných jazyků v Oracle

  2. Jak vymazat fond připojení ODP.NET při chybách připojení?

  3. Nejrychlejší kontrola, zda řádek existuje v PostgreSQL

  4. Proč tato transakce PostgreSQL dává VAROVÁNÍ:neprobíhá žádná transakce