admin

SQL语句删除字符串的一部分

sql

我有一个包含网站网址列表的数据库表,例如http://website.com/,我想从中删除所有http://https://。他们是否可以在列上运行以删除它的简单SQL语句?

我已经搜索了一下,但是找不到我需要的东西。我想我需要同时使用REPLACE和UPDATE,但是我很挣扎。

到目前为止,我有:

UPDATE list
SET    website
WHERE  website LIKE 'http://%';

那是对的吗?我正在使用MySQL,表是列表,列是网站,我想删除http://这样的url
http://website.com/website.com

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


阅读 280

收藏
2021-05-10

共1个答案

admin

看一下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字符串函数

2021-05-10