2014-01-22 30 views
3

据我所知,MySQL的REPLACE可以与INSERTUPDATE查询一起使用,但是如何使用它替换声明变量中的字符串?如何将MySQL REPLACE与变量一起使用?

这是我想要的代码,但它不工作:

DECLARE genre_string VARCHAR(255); 

SET genre_string = 'drama, thriller'; 

SET genre_string = REPLACE(genre_string,'drama','Drama'); 

SELECT genre_string; 

我如何得到它的工作过上目前声明的变量?

+0

你没有当你使用它来添加@在变量前面? –

+0

我得到你想要做的,但我很难理解为什么。有时候解决方案不是要治疗症状,而是解决潜在的问题。你为什么需要这样做? – kba

+0

我正在导入一些数据,然后在将字符串插入其他地方之前清理掉一些字符串。导入的数据来自Excel文件,是的,我可以在那里清理它,但由于导入非常频繁,会更好地清理它在这个SP,因为它会更快.. – Ahmad

回答

2

下面的工作对我来说:

DECLARE @genre_string VARCHAR(255); 

SET @genre_string = 'drama, thriller'; 

SET @genre_string = REPLACE(@genre_string,'drama','Drama'); 

SELECT @genre_string 
+1

“@”用于使用定义变量,不应声明。你最后三条线将单独工作。你只需要声明局部变量。 – kba

+0

我忘了在'REPLACE'前面使用'genre_string =',这是造成问题的原因:) – Ahmad

相关问题