Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Slick way to remove special char
Message
De
26/03/2008 10:22:54
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Divers
Thread ID:
01305645
Message ID:
01305663
Vues:
7
>>I have a sp to remove special characters from an input string, and it works fine, but I am wondering if there is a slicker (is that a word?) way to do this. The code is:
>>
>>
>>ALTER PROCEDURE [dbo].[sRemoveSCW]
>>@StringIn VARCHAR(2000),
>>@StringOut VARCHAR(2000) OUTPUT
>>AS
>>BEGIN
>>	SET NOCOUNT ON;
>>
>>	SET @StringOut = REPLACE(@StringIn, '~', '')
>>	SET @StringOut = REPLACE(@StringOut, '`', '')
>>	SET @StringOut = REPLACE(@StringOut, '!', '')
>>	SET @StringOut = REPLACE(@StringOut, '@', '')
>>	SET @StringOut = REPLACE(@StringOut, '#', '')
>>	SET @StringOut = REPLACE(@StringOut, '$', '')
>>	SET @StringOut = REPLACE(@StringOut, '%', '')
>>	SET @StringOut = REPLACE(@StringOut, '^', '')
>>	SET @StringOut = REPLACE(@StringOut, '&', '')
>>	SET @StringOut = REPLACE(@StringOut, '*', '')
>>	SET @StringOut = REPLACE(@StringOut, '(', '')
>>	SET @StringOut = REPLACE(@StringOut, ')', '')
>>	SET @StringOut = REPLACE(@StringOut, '+', '')
>>	SET @StringOut = REPLACE(@StringOut, '=', '')
>>	SET @StringOut = REPLACE(@StringOut, '{', '')
>>	SET @StringOut = REPLACE(@StringOut, '}', '')
>>	SET @StringOut = REPLACE(@StringOut, '[', '')
>>	SET @StringOut = REPLACE(@StringOut, ']', '')
>>	SET @StringOut = REPLACE(@StringOut, '|', '')
>>	SET @StringOut = REPLACE(@StringOut, ';', '')
>>	SET @StringOut = REPLACE(@StringOut, ':', '')
>>	SET @StringOut = REPLACE(@StringOut, '<', '')
>>	SET @StringOut = REPLACE(@StringOut, '>', '')
>>	SET @StringOut = REPLACE(@StringOut, '?', '')
>>	SET @StringOut = REPLACE(@StringOut, ',', '')
>>	SET @StringOut = REPLACE(@StringOut, ' ', '')
>>	SET @StringOut = REPLACE(@StringOut, '/', '')
>>	SET @StringOut = REPLACE(@StringOut, '\', '')
>>	SELECT @StringOut
>>END
>>
>>
>>Any input or comments are appreciated!
>
>
>Just don't allow to users to write such chars.
>As Naomi said there is no CHRTRAN() function in SQL Server.
>You could try Igor Nikiforov's User-Defined string functions Transact-SQL Download #27115

Igor's CHRTRAN function allows for more versatility, but seems a little more complicated. Thanks for your input!
Thank You

Rollin Burr

Politicians and diapers have one thing in common. They should both be changed regularly, and for the same reason.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform