删除 SQL 服务器中字符集的函数
Function to remove set of character in SQL Server
我有以下函数从给定字符串中删除字符集:
ALTER function removalspchar(@Name varchar(30))
returns varchar(500)
As
Begin
declare @sub char(1)
while patindex('%[-:;&, ]%',@Name)>0
begin
set @sub=substring(@Name,patindex('%[-:;&, ]%',@Name),1)
set @Name = replace(@Name,@sub,'')
end
return @Name
End
select dbo.removalspchar('CORP - Sovereign & Public Finance')
但以下函数的输出为:CORPSovereignPublicFina 而不是 CORPSovereignPublicFinance。
谁能告诉我我做错了什么或解决这个问题的更好方法。
也许,你应该增加参数 (@Name varchar(30))
的长度,比如 (@Name varchar(100))
。
我有以下函数从给定字符串中删除字符集:
ALTER function removalspchar(@Name varchar(30))
returns varchar(500)
As
Begin
declare @sub char(1)
while patindex('%[-:;&, ]%',@Name)>0
begin
set @sub=substring(@Name,patindex('%[-:;&, ]%',@Name),1)
set @Name = replace(@Name,@sub,'')
end
return @Name
End
select dbo.removalspchar('CORP - Sovereign & Public Finance')
但以下函数的输出为:CORPSovereignPublicFina 而不是 CORPSovereignPublicFinance。
谁能告诉我我做错了什么或解决这个问题的更好方法。
也许,你应该增加参数 (@Name varchar(30))
的长度,比如 (@Name varchar(100))
。