可能重复:
str_replace in SQL UPDATE?
How to remove part of string in mysql?
SQL Find & Replace part of a string
我有一个包含网站网址列表的数据库表,例如http://website.com/
我希望从中删除所有http://
和https://
。他们是一个简单的SQL语句,我可以在列上运行以删除它吗?
我有一个搜索,但我找不到我需要的东西。我假设我需要使用REPLACE和UPDATE,但我很挣扎。
到目前为止,我有:
UPDATE list
SET website
WHERE website LIKE 'http://%';
这是对的吗?我正在使用MySQL,表格是列表,列是网站,我想删除http://
,因此像http://website.com/
这样的网址变为:website.com
编辑:是否也可以删除尾部斜杠?
答案 0 :(得分:26)
查看REPLACE
功能。您需要使用它两次才能删除http和https。
UPDATE list
SET website = REPLACE(REPLACE(website, 'https://', ''), 'http://', '')
WHERE website like 'https://%'
OR website like 'http://%'
要处理尾部斜杠,您可以使用RIGHT
,LEFT
和LENGTH
函数。
UPDATE list
SET website = LEFT(website, LENGTH(website) - 1)
WHERE RIGHT(website, 1) = '/'
以下是一些您可能会觉得有用的文档: MySQL string functions
答案 1 :(得分:9)
为什么不直接替换字符串:
UPDATE list
SET website = Replace(website, 'http://', '')
答案 2 :(得分:1)
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’) where CONDITION