google-bigquery - Google Big Query 中的功能
问题描述
我正在尝试在 google biq 查询中创建一个函数,但我收到以下错误。任何帮助表示赞赏:
CREATE FUNCTION `test.xx.x_to_y_Id`(ID INT64)
RETURNS INT64
SELECT CASE
WHEN CAST(FLOOR(ID/POWER(CAST(2 AS INT64),38)) AS INT64) & 3 = 0
THEN ID & CAST(12345678 AS INT64)
ELSE ID END
Syntax error: Expected "(" or string literal but got keyword SELECT at [4:9]
解决方案
您可以将其用作 CREATE 函数语句
CREATE TEMP FUNCTION
test(ID FLOAT64)
AS (
CASE
WHEN CAST(FLOOR(ID/POWER(CAST(2 AS INT64),38)) AS INT64) & 3 = 0
THEN ID & CAST(12345678 AS INT64)
ELSE ID END);
注意:我SELECT
从函数主体中删除了 并更正了函数签名以匹配此处定义的 BigQuery 函数样式
推荐阅读
- leaflet - 使用folium设置地图ID?
- operating-system - 获取 Windows 版本
- laravel - 在我调用更新后,Laravel 同步不起作用
- django - 将 Django Web App 部署到 Heroku 时收集静态文件的问题
- c# - Unity Scene 不存在,尽管它已定义?
- javascript - 将闪亮集成到另一个网页
- ios - Swift Func 在预期之后调用
- c# - LINQ通过多个值获取另一个列表中包含的对象的结果
- python - 有没有办法将python变量返回给php?
- airflow - Airflow DAGs 任务在我运行 DAG 时未运行,尽管在我测试它们时任务工作正常