[英]Can´t save view with function (GCP)
我正在使用 BIGQUERY 嘗試使用帶有 Function 的查詢生成視圖(這是一個示例,而不是查詢本身)
CREATE TEMP FUNCTION validate_rut(s string)
返回字符串
作為 (
if(length(s) = 10 或 length(s) = 12, left(regexp_replace(s, r'[.-]', ''), 8)
, if(length(s) = 11 或 length(s) = 9, left(regexp_replace(s, r'[.-]', ''), 7)
, 無效的)
)
);
select 車轍,驗證車轍(車轍)
從(選擇'11.111.111-8'車轍聯合所有
select '11111111-8' 聯合所有
select '2.222.222-9' 聯合所有
select '2222222-9'聯合所有
select '33333333' 聯合所有
select '7777777'
)
問題是,當我嘗試將查詢另存為視圖時,我收到此消息。
“不支持在視圖中創建臨時 Function 語句”
這是我第一次嘗試做這樣的事情。
謝謝你。
您可以使用以下語法將 function 創建為永久 udf:
CREATE FUNCTION `my_project.my_dataset.validate_rut`(s string)
RETURNS string
AS (
if(length(s) = 10 or length(s) = 12 , left(regexp_replace(s, r'[.-]', ''), 8)
, if(length(s) = 11 or length(s) = 9, left(regexp_replace(s, r'[.-]', ''), 7)
, null)
)
);
在此示例中,您的永久 udf 是在名為udf
的現有Bigquery
dataset
上my_dataset
的。
然后,您可以使用以下語法按預期查詢您的 function:
select rut, `my_project.my_dataset.validate_rut`(rut)
from (select '11.111.111-8' rut union all
select '11111111-8' union all
select '2.222.222-9' union all
select '2222222-9'union all
select '33333333' union all
select '7777777'
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.