[英]Use of right in standard SQL in BigQuery
在 BigQuery 的标准 SQL 中运行以下代码时,我收到一条错误消息
#standardSQL
UPDATE dataset.dataset
SET New_column = RIGHT(link_id, LEN(link_id) - 3)
WHERE TRUE
Error: Syntax error: Unexpected keyword RIGHT at [8:18]
您可以使用substr()
代替:
. . .
set New_column = substr(link_id, 4)
您应该使用SUBSTR(value, position\\[, length\\])
- BigQuery Standard SQL 中没有函数 RIGHT()
在您的特定情况下,它可以像SUBSTR(link_id, 4)
一样简单
同时,我不确定你New_column
是什么意思 - 但它必须存在才能对表使用 DML 的 UPDATE
所以你的最终声明将是
#standardSQL
UPDATE dataset.dataset
SET New_column = SUBSTR(link_id, 4)
WHERE TRUE
我在这里没有看到任何答案是 BigQuery 中实际的 RIGHT 函数模拟器。 我需要一个所以我建造了一个(我从@Felipe Hoffa 的尝试中获得了灵感):
DECLARE address STRING;
SET address = '99999 SOME RANDOM ADDRESS, NY 08057';
SELECT
REGEXP_EXTRACT(address, r'.{5}$') AS zipcode
--this is equivalent to RIGHT(address, 5)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.