Excel SUBSTITUTE函数对应的Presto SQL等价函数及代码转换需求
Excel SUBSTITUTE函数在Presto SQL中的等价实现
等价函数说明
Excel中的SUBSTITUTE函数在Presto SQL中的直接等价函数是replace(),语法为:
replace(原字符串, 要替换的子串, 替换后的子串)
功能与Excel的SUBSTITUTE完全一致,用于将字符串中指定的子串替换为新内容。
Excel公式转换为Presto SQL
原Excel公式
=CONCAT(SUBSTITUTE(B2,LEFT(B2,11),MID(B2,5,3)&"-"&MID(B2,8,2)&"10-"))
转换后的Presto SQL代码
replace( B2, substr(B2, 1, 11), substr(B2, 5, 3) || '-' || substr(B2, 8, 2) || '10-' )
代码说明
substr(B2, 1, 11):对应Excel的LEFT(B2,11),取字符串前11个字符substr(B2, 5, 3):对应Excel的MID(B2,5,3),从第5位开始取3个字符substr(B2, 8, 2):对应Excel的MID(B2,8,2),从第8位开始取2个字符||:Presto中用于字符串拼接的运算符,对应Excel的&- 整体通过
replace完成子串替换,Excel的CONCAT在此场景中可省略,因为replace直接返回拼接后的结果
示例验证
- 输入字符串:
JUNE5000950ABS20MN9G250GRN - 执行SQL后输出:
500-0910-ABS20MN9G250GRN,与预期结果一致
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

