【发布时间】:2014-02-11 21:12:23
【问题描述】:
我知道 MySQL 的 REPLACE 可以与 INSERT 和 UPDATE 查询一起使用,但是如何使用它替换声明变量中的字符串?
这是我正在尝试的代码,但它不起作用:
DECLARE genre_string VARCHAR(255);
SET genre_string = 'drama, thriller';
SET genre_string = REPLACE(genre_string,'drama','Drama');
SELECT genre_string;
我如何让它也适用于当前声明的变量?
【问题讨论】:
-
你用的时候变量前面不用@吗?
-
我明白你想要做什么,但我很难理解为什么。有时解决方案不是治疗症状,而是解决根本问题。为什么需要这样做?
-
我正在导入一些数据,然后稍微清理一下字符串,然后再将它们插入其他地方.. 导入的数据来自 Excel 文件,是的,我可以在那里清理它,但是由于导入非常频繁,最好在这个 SP 中清理它,因为它会更快..
-
@Ahmad 我假设您有一些执行导入的程序。在那里进行字符串替换。或者做
SELECT REPLACE('drama, thriller','drama','Drama');会产生同样的结果。然而,更重要的是,您不应该将多种类型添加到一个字段中,而应规范化您的数据。 -
别担心最后一部分,存储过程稍后会拆分字符串并分别处理每个流派..源数据使用该结构,对此无能为力..跨度>