Teradata 使用井号作为字段名称

Terdata using pound sign for the name of the fields

我的任务是将一些 Teradata 脚本转换为 BigQuery SQL。但是,我找不到别名中带有井号的语法是什么意思。

SELECT
     A  AS SOME_COLUMM_1
    ,B AS SOME_COLUMN_2
    ,C     AS SOME_COLUMN_3# /* <------- HERE */
    ,COUNT(*)      AS E FROM
     SOME_DB.SOME_TABLE;

没有意义,除了 'a'-'z' 和 '0'-'9' 之外,'#'、'$' 和 '_' 只是对象名称中允许的字符。

如果 BigQuery 不支持 SOME_COLUMN_3# 作为对象名称,您可以更改它或用双引号引起来:"SOME_COLUMN_3#"

双引号名称几乎可以包含任何字符,并允许使用保留关键字作为名称,例如 table 命名为 "table"

注意:在标准中 SQL 双引号名称区分大小写,但在 Teradata 中不区分大小写,例如“a”和“A”在标准 SQL 中是不同的名称,但在 Teradata 中是相同的。