我在表 A 中有一个链接(如下所示)字段,其值如下:
我需要从链接中提取 7 位代码。编码:
1 - 始终是不包含字符的 7 位数字。
2 - 总是包含'/carrier/'
并远离 1 节'/carrier/'
。
在上面的链接中,代码是 2360283 和 4322830。
请使用 建议选择查询RegExp
。
谢谢,
我在表 A 中有一个链接(如下所示)字段,其值如下:
我需要从链接中提取 7 位代码。编码:
1 - 始终是不包含字符的 7 位数字。
2 - 总是包含'/carrier/'
并远离 1 节'/carrier/'
。
在上面的链接中,代码是 2360283 和 4322830。
请使用 建议选择查询RegExp
。
谢谢,
假设您不知道carrier
“7位代码”将出现在哪里,那么您将不得不计算/carrier/
位置并使用相对位置,但只能在模式的相关行上
select
substring_index(substring_index(link,
'/',
find_in_set('carrier',
replace(replace(link, ',', '{'), /* { is any weird character */
'/',
',')) + 2), /* +2 => 1 section away from carrier */
'/',
- 1) as SEVENDIGITCODE
from
TableA
where
link regexp '/carrier.*/[0-9]{7}/'
尝试
$str = 'http://test.abc.com/carrier/CA-9265/2360283/?id=41352626&src=j2w&...';
SELECT SUBSTRING_INDEX( SUBSTRING_INDEX($str,'/',-2),'/',1)
// return 2360283
阅读SUBSTRING_INDEX了解更多信息