我需要创建一个函数(EscapeAmpersand)。该函数应该采用1个varchar(255)参数。它应该返回一个varchar(255)参数。该函数的目的是获取输入,将‘&’
替换为‘&’
并返回结果。
示例:
输入:‘my dog & me’
返回:‘my dog & me’
输入:‘my dog and me’
返回:‘my dog and me’
答案 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
非过程表值函数的运算速度比标量值快几倍。