我有一个sql函数,最后是RETURN @_result;
。
我的问题是,如果我把这个
REPLACE(@_result, '&', 'eseses')
REPLACE(@_result, '-', 'vagyvagy')
在RETURN @_result;
之前是否可以?
@_result
返回一个长字符串,在该字符串中,我想将&
替换为eseses
,将-
替换为vagyvagy
。
答案 0 :(得分:2)
您需要提供以下内容:
SET @_result = REPLACE(@_result, '&', 'eseses')
SET @_result = REPLACE(@_result, '-', 'vagyvagy')
答案 1 :(得分:2)
是的,这个想法还可以,但你的代码在语法上并不合理。你需要这样做:
SET @_result = REPLACE(@_result, '&', 'eseses')
SET @_result = REPLACE(@_result, '-', 'vagyvagy')
RETURN @_result
你可能知道这一点,但我想确保你清楚这一点,以防你正在尝试它并且它不起作用。 (某些数据库实现可能允许REPLACE没有集合,但我知道没有。)
答案 2 :(得分:0)
是的,在SQL Server中没问题
答案 3 :(得分:0)
在SQL 2008中的REPLACE之前需要SET。
当我运行以下
时DECLARE @_result as varchar(30)
SET @_result = 'Hello-There & How are you?'
REPLACE(@_result, '&', 'eseses')
REPLACE(@_result, '-', 'vagyvagy')
SELECT @_result
我收到以下错误
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near 'REPLACE'.
通过将其更新为以下内容,错误消失了,一切都设置正确
DECLARE @_result as varchar(30)
SET @_result = 'Hello-There & How are you?'
SET @_result = REPLACE(@_result, '&', 'eseses')
SET @_result = REPLACE(@_result, '-', 'vagyvagy')
SELECT @_result