用于删除字符串部分的SQL语句

时间:2012-08-19 21:24:29

标签: mysql sql

  

可能重复:
  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

编辑:是否也可以删除尾部斜杠?

3 个答案:

答案 0 :(得分:26)

查看REPLACE功能。您需要使用它两次才能删除http和https。

UPDATE    list
SET       website = REPLACE(REPLACE(website, 'https://', ''), 'http://', '')
WHERE     website like 'https://%' 
  OR      website like 'http://%'

要处理尾部斜杠,您可以使用RIGHTLEFTLENGTH函数。

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