我有一个 MySQL 表,其中包含一个名为“name”的 VARCHAR 字段和几千行。每行的格式如下:
'一些文本 <1000 - 2000>'
我想删除 '<1000 - 2000>' 部分,只留下 'Hello world' 文本。每行的文本和数字都不同。如何通过查询来完成?我假设某种正则表达式。
任何帮助表示赞赏
使用INSTR
andREVERSE
获取<
字符的位置,然后按索引将其删除:
UPDATE `table` SET `name` = SUBSTRING( `name`, 0, INSTR( REVERSE( `name` ), `<` ) )
看看这个,它可能是你想要的https://launchpad.net/mysql-udf-regexp。
问候, 海华沙