在阅读了很多关于这个主题的内容之后,我对如何编写UDF以及在哪里保存它一无所知。
我不想在其他几个脚本中多次编写相同的嵌套REPLACE(),我希望能够根据需要调用它,例如:
Targ.Name = dbo.fn_add_sym( isnull(Targ.Name, Src.Name) )
我有以下功能,但我还没有能够测试它,因为我不知道把它放在哪里。
CREATE FUNCTION dbo.fn_add_sym( @string NVARCHAR(max) )
RETURNS NVARCHAR(max)
WITH SCHEMABINDING
AS
begin
return
@string = REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(@string, N'%2b', N'+')
, N'%2d', N'-')
, N'%3d', N'=')
, N'%22', N'"')
, N'%5f', N'_')
,'"', N'"')
end
答案 0 :(得分:1)
Here是一个显示函数的SQL小提琴。
以下是一些测试它的代码:
select dbo.fn_add_sym('abc%5fdef')
您遇到的唯一语法错误是return @string =
。 <{1}}是不必要的。