BigQuery 中的函数名称区分大小写
Posted
技术标签:
【中文标题】BigQuery 中的函数名称区分大小写【英文标题】:Function names case sensitivity in BigQuery 【发布时间】:2020-06-03 18:34:50 【问题描述】:我正在学习 Google BigQuery 的语法,目前,我正在阅读有关标识符和区分大小写的文档。我专注于 BigQuery 的标准 SQL 语法。
Documentation 说:
BigQuery 遵循以下区分大小写规则:类别 | 区分大小写? 函数名 |没有
但是当我在Console 中运行以下语句时:
#standardSQL
create function cs_test.function_a (x int64, y int64) as (x*y);
create function cs_test.function_A (x int64, y int64) as (x-y);
select cs_test.function_a(5,6); -- 30
select cs_test.function_A(5,6); -- -1
创建了两个函数,并作为 select 语句的结果提供了不同的结果。
同时,如果我运行以下语句,我会收到一个错误,即找不到该函数:
create function cs_test.function_b (x int64, y int64) as (x+y);
select cs_test.function_B(5,6); -- NOK
Google BigQuery 中的函数名称是否不区分大小写?从上面提供的代码 sn-ps 看来,它似乎是区分大小写的。
谢谢。
【问题讨论】:
函数名在 Google BigQuery 中区分大小写! 文档应该更新...该表中的“函数名称”表示“内置函数”,如CONCAT可以用作Concat()或conCAT(),而用户定义函数区分大小写。 文档已更新,感谢报告。 【参考方案1】:您的发现是正确的。 Documentation 已更新以反映它:
| Category | Case Sensitive? |
| Built-in Function names | No |
| User-Defined Function names | Yes |
【讨论】:
以上是关于BigQuery 中的函数名称区分大小写的主要内容,如果未能解决你的问题,请参考以下文章
Spark Cassandra 使用区分大小写的名称写入 UDT 失败