2010-02-03 48 views
1

我有一个sql函数,并在结尾RETURN @_result;SQL函数问题

我的问题是,如果我RETURN @_result;之前把这个

REPLACE(@_result, '&', 'eseses') 
REPLACE(@_result, '-', 'vagyvagy') 

这是确定的?

@_result返回长字符串,并在该字符串我想更换&eseses-vagyvagy

+0

认为你需要指定你的数据库管理器软件 - 这个问题是关于SQLServer的TransactSQL?你一定需要重申这个问题,包括数据库类型和开发环境 – Elemental 2010-02-03 15:10:56

回答

2

你需要把以下内容:

SET @_result = REPLACE(@_result, '&', 'eseses') 
SET @_result = REPLACE(@_result, '-', 'vagyvagy') 
+0

看起来我们同时想到了同样的事情。 :-) – 2010-02-03 15:15:38

2

是,这个想法是好的,但你的代码在语法上不健全。你需要做的事:

SET @_result = REPLACE(@_result, '&', 'eseses') 
SET @_result = REPLACE(@_result, '-', 'vagyvagy') 

RETURN @_result 

你可能知道这一点,但我想,以确保您访问的情况下,你正试图说清楚,它不工作。 (有些DB实现可能允许更换W/O设置的,但我知道没有的。)

0

您需要SET之前SQL 2008

替换当我运行以下

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