首页 > 解决方案 > SQL - 使用查询字符串删除 url 中的尾随“/”

问题描述

我有 2 列的表,其中一个存储了 url。

现在我需要更新表以从 url 中删除所有尾部斜杠,包括具有查询字符串的 url。

例子:

/page/sub/1/             =>    /page/sub/1
/page/sub/1/?page=1      =>    /page/sub/1?page=1

我已经找到了如何为尾部斜杠执行此操作,但不是在它位于 url 内时。

UPDATE TABLE 
SET MyUrl = LEFT(MyUrl, LEN(MyUrl) - 1) 
WHERE RIGHT(MyUrl, 1) = '/';

有谁知道如何做到这一点?我可以使用某种正则表达式吗?

标签: sqlsql-serverurlsql-updatetrailing-slash

解决方案


UPDATE TABLE SET MyUrl = replace(MyUrl, '/?', '?') WHERE MyUrl like '%/?%';

工作 SQLFiddle


推荐阅读