如何删除mySQL中的某些字符串?

时间:2014-12-31 22:18:18

标签: mysql

让我开始说我是trasactsql和查询的新手,所以请善待。 我有一个数据库,我的产品文件有大约1700条记录,一个字段(名称)有产品代码,一个空格,然后是我的产品名称。我有另一个字段(pcode),其中只有产品代码,其中包含数字,可能还有一两个与“name”字段的开头相匹配的字母。我需要删除“名称”中空格前面的所有字符,包括空格。有没有办法删除字符,如果它们匹配“pcode”中的字符?

这是一个例子。

我有什么;

pcode |名称

1234 | 1234小部件


我想要的是什么;

pcode |名称

1234 |插件

有些名称中包含空格。即。 “左手柄按钮侧”或“控制”手柄“

提前致谢。 迈克尔

2 个答案:

答案 0 :(得分:1)

select中,您可以执行以下操作:

select pcode, substring_index(name, ' ', -1)
. . .

update

update table t
    set name = substring_index(name, ' ', -1)
    where name like '% %';

如果要更改数据(使用update),请在执行更新之前检查逻辑(或复制表)。这可能无法达到预期效果,例如,如果名称本身有空格。

答案 1 :(得分:0)

尝试将其导出到MS Excel,例如手动执行。下次在创建SQL数据库时了解12条黄金规则。

http://en.m.wikipedia.org/wiki/Codd%27s_12_rules