SQL函数问题

时间:2010-02-03 15:06:07

标签: sql

我有一个sql函数,最后是RETURN @_result;

我的问题是,如果我把这个

REPLACE(@_result, '&', 'eseses')
REPLACE(@_result, '-', 'vagyvagy')
RETURN @_result;之前

是否可以?

@_result返回一个长字符串,在该字符串中,我想将&替换为eseses,将-替换为vagyvagy

4 个答案:

答案 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