4

在 MySQL 中,我有一个带有“bla bla bla YYY=76767 bla bla bla”的文本列。

我需要删掉 76767 的号码。

我怎样才能在 SQL 中做到这一点?

4

3 回答 3

6

您可以使用

select substring_index(substring(mycol, instr(mycol, "=")+1), " ", 1)

获得=.

这返回 76767


这分为两个步骤:

substring(mycol, instr(mycol, "=")+1)

返回从后面开始的字符串=

substring_index( xxx , " ", 1)

得到你从“”分割得到的虚拟数组的第一个元素,因此返回 xxx 的第一个标记。

于 2012-06-20T07:21:26.417 回答
2

消除您所在领域的数字的最简单方法就是使用REPLACE它。

SELECT REPLACE(yourcolumn, '76767', '')
FROM yourtable;

您也可以使用SUBSTRING和的组合INSTR

于 2012-06-20T07:26:30.327 回答
0

如果您不想更新,请使用

UPDATE table_name SET column_name = REPLACE(column_name, '76767', '');

如果您不想在数据库中替换76767bla bla bla,请使用

UPDATE table_name SET column_name = REPLACE(column_name, '76767', 'bla bla bla');
于 2015-03-26T07:57:25.230 回答