我需要帮助创建一个TSQL函数

时间:2016-04-12 14:55:51

标签: tsql

我需要创建一个函数(EscapeAmpersand)。该函数应该采用1个varchar(255)参数。它应该返回一个varchar(255)参数。该函数的目的是获取输入,将‘&’替换为‘&’并返回结果。

示例:

输入:‘my dog & me’返回:‘my dog & me’

输入:‘my dog and me’返回:‘my dog and me’

2 个答案:

答案 0 :(得分:0)

REPLACE( input,'&','&'||'amp')

答案 1 :(得分:0)

标量值函数:

explicit

用法:

CREATE FUNCTION fReplaceAmpersand (@InputString VARCHAR(255))
RETURNS VARCHAR(1000)
AS  
BEGIN
    RETURN REPLACE(@InputString, '&', '&')
END
GO

从性能的角度来看,如果你的表非常大,你最好使用表值函数和OUTER APPLY:

SELECT dbo.fReplaceAmpersand(MyText)
FROM MyTable

非过程表值函数的运算速度比标量值快几倍。