Mysql 如果我有两个子字符串_index,哪一个先执行?
如果我有两个子字符串_index,那么首先执行哪一个子字符串?内部的Mysql 如果我有两个子字符串_index,哪一个先执行?,mysql,database,substring,Mysql,Database,Substring,如果我有两个子字符串_index,那么首先执行哪一个子字符串?内部的子字符串索引(mycl,“/”,3),还是外部的 substring_index(substring_index(`mycol`,'/',3),'://',-1) 我想治疗的刺痛示例: https://www.yahoo.com/ http://google.com/en/ 我想得到: www.yahoo.com google.com 1) 首先执行哪个子字符串\u索引?根据第一次执行的内容的输出,构造第二个子字符串索引,
子字符串索引(
mycl,“/”,3)
,还是外部的
substring_index(substring_index(`mycol`,'/',3),'://',-1)
我想治疗的刺痛示例:
https://www.yahoo.com/
http://google.com/en/
我想得到:
www.yahoo.com
google.com
1) 首先执行哪个子字符串\u索引?根据第一次执行的内容的输出,构造第二个子字符串索引
,这一点很重要
2) 我的substring\u index
语句正确吗 Asu您可以轻松检查
select substring_index(substring_index('https://www.yahoo.com/','/',3),'://',-1);
www.yahoo.com
select substring_index(substring_index('http://google.com/en/','/',3),'://',-1);
谷歌网站
对于每个嵌套函数,始终执行内部函数。。然后再重复下一个外部Asu,您可以轻松检查
select substring_index(substring_index('https://www.yahoo.com/','/',3),'://',-1);
www.yahoo.com
select substring_index(substring_index('http://google.com/en/','/',3),'://',-1);
谷歌网站
对于每个嵌套函数,始终执行内部函数。。相反,下一个外部外部
子字符串_index()
无法执行,除非存在要对其进行操作的值在这种情况下,要操作的值为:
substring_index(`mycol`,'/',3)
因此,首先执行嵌套的子字符串_index()
,并提供外部子字符串_index()
操作的值。这是所有编程语言(包括SQL求值表达式)的方式。
至于第二个问题:是的,该语句是正确的。外部
子字符串_index()
无法执行,除非存在要对其进行操作的值在这种情况下,要操作的值为:
substring_index(`mycol`,'/',3)
因此,首先执行嵌套的子字符串_index()
,并提供外部子字符串_index()
操作的值。这是包括SQL在内的所有编程语言计算表达式的方式。
至于第二个问题:是的,该语句是正确的。作为使用
子字符串索引的替代方法,如果您使用的是MySQL 8+,则可以使用正则表达式替换函数:
SELECT
REGEXP_REPLACE('http://google.com/en/', 'https?://([^/]+)', '$1') AS url
FROM yourTable;
作为使用子字符串索引的替代方法,如果您使用的是MySQL 8+,则可以使用正则表达式替换函数:
SELECT
REGEXP_REPLACE('http://google.com/en/', 'https?://([^/]+)', '$1') AS url
FROM yourTable;
括号中的语句始终具有较高的优先级
内部子字符串索引只修剪结尾的“/”字符。(‘’). 外部子字符串索引修剪“https://”。('www.yahoo.com')。你的陈述很好李>
您可以找到不同的用法或详细信息
括号中的语句始终具有较高的优先级
内部子字符串索引只修剪结尾的“/”字符。(‘’). 外部子字符串索引修剪“https://”。('www.yahoo.com')。你的陈述很好李>
您可以找到不同的用法或详细信息。对于每个嵌套函数,始终执行内部函数。。然后依次执行下一个外部函数。对于每个嵌套函数,始终执行内部函数。。然后再把下一个外边的。