如何在MySQL中剪切字符串的一部分?
在MySQL中,我有一个带有“bla-bla-YYY=76767 bla-bla-bla”的文本列 我需要把电话号码改成767 如何在SQL中执行此操作?您可以使用如何在MySQL中剪切字符串的一部分?,mysql,sql,select,Mysql,Sql,Select,在MySQL中,我有一个带有“bla-bla-YYY=76767 bla-bla-bla”的文本列 我需要把电话号码改成767 如何在SQL中执行此操作?您可以使用 select substring_index(substring(mycol, instr(mycol, "=")+1), " ", 1) 获取=后的第一个令牌 这将返回76767 这分为两个步骤: substring(mycol, instr(mycol, "=")+1) 返回从= 及 获取通过“”拆分得到的虚拟数组的第一个
select substring_index(substring(mycol, instr(mycol, "=")+1), " ", 1)
获取=
后的第一个令牌
这将返回76767
这分为两个步骤:
substring(mycol, instr(mycol, "=")+1)
返回从=
及
获取通过“”拆分得到的虚拟数组的第一个元素,然后返回xxx的第一个标记。消除字段中数字的最简单方法就是删除它
您也可以使用和的组合。如果不想更新,请使用
UPDATE table_name SET column_name = REPLACE(column_name, '76767', '');
如果您不想将数据库中的76767
替换为bla-bla-bla
,请使用
UPDATE table_name SET column_name = REPLACE(column_name, '76767', 'bla bla bla');
输出字符串
bla-bla-YYY=bla-bla-bla
会是什么?是要删除该数字,还是要获取该数字?是否要更新实际数据以从值中取出“76767”?改为更新:| | regex replace:
UPDATE table_name SET column_name = REPLACE(column_name, '76767', '');
UPDATE table_name SET column_name = REPLACE(column_name, '76767', 'bla bla bla');