【发布时间】:2015-05-04 19:36:10
【问题描述】:
我在这样的表中有数百条记录
一些文字 ### 一些其他文字
我想删除 ### 之后的所有内容,包括 ### 以便只有
一些文字将保留 谢谢
【问题讨论】:
标签: mysql sql replace sql-update
我在这样的表中有数百条记录
一些文字 ### 一些其他文字
我想删除 ### 之后的所有内容,包括 ### 以便只有
一些文字将保留 谢谢
【问题讨论】:
标签: mysql sql replace sql-update
UPDATE some_table
SET some_column = SUBSTR( some_column, 1, Locate( '###', some_column ))
WHERE some_column LIKE '%###%'
【讨论】:
这取决于您使用的 sql 版本,取决于实际的数据库,但它会是这样的:
update table set textfield = substring(textfield,0,indexof(textfield,'###'));
您可能需要从 indexof 结果中加/减一个。
要测试它,您可以在选择中使用子字符串:
select substring(textfield,0,indexof(textfield,'###')
from tablename;
【讨论】:
UPDATE tbl
SET col = SUBSTRING_INDEX(col, '###', 1)
WHERE col LIKE '%###%';
【讨论】:
使用这个查询,它工作正常
更新表名 SET 列名 = 左(列名,定位('#',列名) - 1)在哪里 定位('#',列名) > 0
【讨论】: