我有一个MySql表,其中有一列包含如下格式的记录:‘https://mlnyhdtvoz4t.i.optimole.com/Y0KrmFg-uFcVqWSa/w:auto/h:auto/q:82/hppt://......’.

我需要从记录中删除第一个HTTPS部分‘https://mlnyhdtvoz4t.i.optimole.com/Y0KrmFg-uFcVqWSa/w:auto/h:auto/q:82',只保留字符串的其余部分.问题是Y0KrmFg-uFcVqWSa的位置在每个记录中可能是不同的值.我应该使用什么适当的正则表达式?

推荐答案

mysql> set @url = 'https://mlnyhdtvoz4t.i.optimole.com/Y0KrmFg-uFcVqWSa/w:auto/h:auto/q:82/hppt://......';
Query OK, 0 rows affected (0.00 sec)

mysql> select regexp_replace(@url, 'https://mlnyhdtvoz4t.i.optimole.com/[^/]+/w:auto/h:auto/q:82', '') as new_url;
+----------------+
| new_url        |
+----------------+
| /hppt://...... |
+----------------+

不使用正则表达式的替代解决方案:

mysql> select replace(@url, substring_index(@url, '/', 7), '') as new_url;
+----------------+
| new_url        |
+----------------+
| /hppt://...... |
+----------------+

Mysql相关问答推荐

根据键的数量,SQL Json字段分为行

MariaDB字段+1

如何进行查询以在两个不同的列中搜索两个不同的数据字符串?

MySql SELECT 查找包含数字的区间的时间复杂度是多少?

最后一个字母 '%n' 的 mysql SELECT 字符串不起作用

此更新查询是否有任何可能的重写选项?

Select 分组产品的数量和每个产品的最便宜的价格

MYSQL:如何根据之前的相关记录获取记录

为什么一个 10 位的电话号码不能存储在长度为 10 的整数中?

DECIMAL(m, n) 在 64 位系统中如何表示?

此插页中的X是什么> X'3C2F756C3E'

PHP,MySQL 错误:列计数与第 1 行的值计数不匹配

如何在 MySQL 中 Select 字段具有最小值的数据?

MySQL函数查找两个日期之间的工作日数

MySQL 在每个唯一值第一次出现时 Select 行

MySQL使用phpmyadmin重新排列列的顺序

Sequelize:销毁/删除表中的所有记录

如何将数组存储到mysql中?

ON UPDATE RESTRICT 有什么作用?

在 Ubuntu 上安装 mysql gem 的困难