什么是在sql server 2000中添加双引号的最佳方法

时间:2009-04-06 21:55:58

标签: sql-server-2000 escaping quotes

我有以下内容。

SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

ALTER  FUNCTION doublequotestring(@str nvarchar(1998)) RETURNS nvarchar(4000) AS
BEGIN
   DECLARE @ret nvarchar(4000),
           @sq  char(1)
   SELECT @sq = '"'
   SELECT @ret = replace(@str, @sq, @sq + @sq)
   RETURN(@sq + @ret + @sq)
END

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

还有其他办法吗?

2 个答案:

答案 0 :(得分:3)

使用QUOTENAME功能。

答案 1 :(得分:1)

为什么不简单:

alter function doublequotestring(@str nvarchar(1998)) returns nvarchar(4000)
begin
    return '"' + replace(@str, '"', '""') + '"'
end