SYNTAX_ERROR: 第9行第3列:函数regexp_substr未注册或未匹配的输入“,”,期望: <表达式>。

0

【以下的问题经过翻译处理】 大家好,

我正在尝试使用REGEXP_SUBSTR函数,但我根据使用方式不同而得到不同的错误。有没有人可以帮我看看,或者这个函数在AWS上不被支持?我尝试了以下方式:

,REGEXP_SUBSTR(wc.da_waarnemingsequence,('B01[^.]')) trailingsequence ,REGEXP_SUBSTR(wc.da_waarnemingsequence,('B01[^.]')[,1[,1[,c]]]) trailingsequence ,REGEXP_SUBSTR(source_string,pattern[,position[,occurrence[,parameters]]])

下一行代码也使用了REGEXP并且是新的一行

--,REGEXP_REPLACE(REGEXP_SUBSTR(wc.da_waarnemingsequence,'B01[^.]*'),'[B01|G[0-9]{2}|A[0-9]{2}|V[0-9]{2}]') lastexplicitscan

profile picture
专家
已提问 5 个月前16 查看次数
1 回答
0

【以下的回答经过翻译处理】 如果您尝试使用Athena不支持的功能,就会出现上述错误,如本文档所述[1]。在您的情况下,Athena的报错信息中,指出在您在该查询中使用的regexp_substr函数是不支持的。

请参阅Athena支持的Presto功能列表: https://docs.aws.amazon.com/athena/latest/ug/presto-functions.html

我查找了"regexp_substr"函数,并发现它是Oracle/PLSQL函数。我们建议使用Presto支持的替代正则表达式函数,例如regexp_extract。有关Presto是否支持正则表达式函数的列表,请参见[2]。另外,您可以在Athena中使用自定义函数来实现您的用例。请参阅[3],该文档解释了如何创建和使用Athena中的自定义函数。

参考资料:

[1]https://aws.amazon.com/premiumsupport/knowledge-center/athena-syntax-function-not-registered/

[2]https://docs.aws.amazon.com/athena/latest/ug/presto-functions.html

[3]https://docs.aws.amazon.com/athena/latest/ug/querying-udf.html

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则