mysql - 用于替换 URL 的最后部分的 SQL 语句
问题描述
在videos
表中替换为URL
具有许多不同 URL 类型的列。我使用 MariaDB 10.3
https://google.com/questions/ask?963
https://google.com/embed/57=66.88.028.10/i/03/077fsdf
https://google.com/top57=66.88.028.10/i/03/077
https://video.net/emb.html?asdeen45dr57=66.88.028.10/i/03/07776/asdeen45dr57
https://video.net/fomdfk5f7s1f.html
https://video.net/emb.html?qsfeen4gttv1=54.47.158.810/i/11/00036/qsfeen4gttv1
我需要删除特定 URL 的一部分(全部删除=
)并替换为 .html
从
https://video.net/emb.html?asdeen45dr57=66.88.028.10/i/03/07776/asdeen45dr57
至
https://video.net/emb.html?asdeen45dr57.html
在这种情况下,将替换
=66.88.028.10/i/03/07776/asdeen45dr57
和
.html
请注意,=
符号后的 URL 部分对于每个 URL 都不同。
解决方案
如果您正在运行 MySql 8.0 或更高版本,您可以使用regexp_replace
UPDATE videos
SET url = REGEXP_REPLACE(url, '=.*$', '.html')
WHERE url LIKE 'https://video.net%'
如果没有正则表达式,这将起作用(也适用于 MySql 5.*)
UPDATE videos
SET url = CONCAT(SUBSTR(url, 1, INSTR(url, '=') - 1), '.html')
WHERE url LIKE 'https://video.net%'
推荐阅读
- intellij-idea - 如何在 IntelliJ 中查看多个选项卡?
- bioinformatics - 为什么 minimap2 输出没有对齐数据的 sam 文件?
- sql - 无法执行 .sql 文件 - 错误 1064 (42000)
- javascript - “错误:已有具有此 ID 的源(匿名函数)”是什么意思?(反应,MapboxGL)
- r - 如何在 R 中将我的 excel 读取为字符串?(R 将我的 excel 文件读取为日期格式)
- ios - Testflight beta版调用扫描二维码应用剪辑体验
- python - 当附加到 Pandas DataFrame 中的字典中的列表时,它会附加到列中的所有字典而不是我指向的字典
- vb.net - 如何读取数据库中的随机实体
- ios - 用于 3D 街景的 Google 地球 API
- sql - 重新组合视图中表中的数据