语法错误:预期输入结束,但在 [2:1] 处获得标识符“CONCAT_WS”
Posted
技术标签:
【中文标题】语法错误:预期输入结束,但在 [2:1] 处获得标识符“CONCAT_WS”【英文标题】:Syntax error: Expected end of input but got identifier "CONCAT_WS" at [2:1] 【发布时间】:2021-06-19 02:49:41 【问题描述】:“CONCAT_WS(‘.’、‘www’、‘google’、‘com’)
*当您运行 SQL 函数时,分隔符(即句点)在 Google 之前和之后输入" 尝试使用此功能大查询,但收到错误。 如果我们无法在 big-query 上使用此功能,那么如何在 google_big_query 中添加 google 前后的句点。
【问题讨论】:
【参考方案1】:BigQuery 不支持concat_ws()
,但使用数组很容易模拟:
select array_to_string(array['www', 'google', 'com'], '.')
请注意,这与 concat_ws()
具有相同的语义,因为它忽略了 NULL
值。所以上面和下面都返回'www.google.com'
:
select array_to_string(array[NULL, 'www', NULL, 'google', 'com'], '.')
【讨论】:
谢谢,戈登。您能用第二种语法回答我的问题吗? -- select array_to_string(array[NULL, 'www', NULL, 'google', 'com'], '.') -- 这就是为什么 'google' 和 'com' 之间没有 NULL 的原因。可以包含吗?? @sathyanarayanan 。 . .这实际上被认为是一个功能。在任何情况下,如果您希望NULL
在字符串中,则需要使用 'NULL'
作为字符串,而不是 NULL
值。以上是关于语法错误:预期输入结束,但在 [2:1] 处获得标识符“CONCAT_WS”的主要内容,如果未能解决你的问题,请参考以下文章
BigQuery SQL 语法错误 FOR 函数(“语法错误:预期的”)“但在 [7:18] 获得关键字 FOR”)
语法错误:应为“(”或“,”或关键字 SELECT,但在 [6:1] 处获得关键字 DELETE
BigQuery SQL语法错误FOR函数(“语法错误:预期的”)”,但在[7:18]处获得了关键字FOR)