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

Jak nahradit více znaků v SQL?

Jedním z užitečných triků v SQL je možnost použít @var = function(...) přiřadit hodnotu. Pokud máte ve své sadě záznamů více záznamů, bude vaše proměnná přiřazena vícekrát s vedlejšími účinky:

declare @badStrings table (item varchar(50))

INSERT INTO @badStrings(item)
SELECT '>' UNION ALL
SELECT '<' UNION ALL
SELECT '(' UNION ALL
SELECT ')' UNION ALL
SELECT '!' UNION ALL
SELECT '?' UNION ALL
SELECT '@'

declare @testString varchar(100), @newString varchar(100)

set @teststring = 'Juliet ro><0zs my s0x()[email protected]@[email protected]!'
set @newString = @testString

SELECT @newString = Replace(@newString, item, '') FROM @badStrings

select @newString -- returns 'Juliet ro0zs my s0xrzone'


  1. SQL Server chybí index

  2. Jak udělit všechna oprávnění uživateli root v MySQL 8.0

  3. SQL WHERE.. IN klauzule více sloupců

  4. Jak odstranit prvních 1000 řádků z tabulky pomocí SQL Server 2008?