Avez toute la chaîne, si vous avez besoin caractères numériques uniquement à l'intérieur i
CREATE FUNCTION fn_retun_only_numbers
(
@myOrgString varchar(50)
)
RETURNS varchar(50)
AS
BEGIN
declare @lenOfString int, @i int
declare @oneChar varchar(1),@newString varchar(50)
set @lenOfString = (select len(@myOrgString))
set @i = 1
set @newString= ''
while (@lenOfstring>[email protected])
begin
set @oneChar = substring(@myOrgString,@i,1)
if ((@oneChar)in ('0','1','2','3','4','5','6','7','8','9'))
begin
set @[email protected][email protected]
end
set @[email protected]+1
end
return @newString
END
GO
Et ainsi que d'autres mentionné, vous pouvez maintenant
update Alumni_Export_New
set phone = dbo.fn_retun_only_numbers(phone)
from tbl
Je n'ai pas considérer vous faire creux de la boucle SQL à la maison peut-être il ya peut-être quelques erreurs dans le code
Ceci n'est peut-être pas la meilleure solution, mais si vous devez être sûr d'alwa ys n'obtient que des nombres Peut-être est-ce une approche possible
Quelle est la saveur de SQL que vous utilisez? –
J'utilise MSSQL 2005. –
Il ne résout pas le "problème" de remplacement mais avez-vous envisagé d'utiliser un déclencheur pour effectuer le nettoyage io d'une procédure stockée? Le nettoyage se produirait immédiatement par rapport au planning que vous utiliseriez pour exécuter le sp. –