基本SQL UDF创建

时间:2014-03-30 18:50:20

标签: sql sql-server-2012-express

在阅读了很多关于这个主题的内容之后,我对如何编写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

1 个答案:

答案 0 :(得分:1)

Here是一个显示函数的SQL小提琴。

以下是一些测试它的代码:

select dbo.fn_add_sym('abc%5fdef')

您遇到的唯一语法错误是return @string =。 <{1}}是不必要的。