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 中的函数名称区分大小写的主要内容,如果未能解决你的问题,请参考以下文章

磁盘 ID 中的资源组名称不区分大小写

Spark Cassandra 使用区分大小写的名称写入 UDT 失败

oracle11g中的sql语句区分大小写吗

捆绑标识符和产品名称区分大小写

有没有一种方法可以忽略 Qt c++ 中的文件名区分大小写?

求助:MYSQL 中的replace函数怎么才能不区分大小写?