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
EXPERTE
gefragt vor 6 Monaten24 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen