sql >> Database >  >> RDS >> Sqlserver

Hoe meerdere tekens in SQL vervangen?

Een handige truc in SQL is de mogelijkheid om @var = function(...) . te gebruiken een waarde toe te kennen. Als je meerdere records in je recordset hebt, wordt je var meerdere keren toegewezen met bijwerkingen:

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:rijen selecteren waar de kolomwaarde is gewijzigd ten opzichte van de vorige rij

  2. Wachtgebeurtenissen SQL Server -3

  3. Oracle SQL DATE-conversieprobleem met iBATIS via Java JDBC

  4. Sorteer op dag van de week van maandag tot zondag