更新时间:2024-11-15 GMT+08:00

ALIAS

所有数据库都支持ALIAS。在Teradata中,定义ALIAS的语句允许其SELECT和WHERE子句引用ALIAS。但是目标数据库的SELECT和WHERE语句不支持ALIAS,因此MT将其迁移为实际的字段名称替换。

  • 比较操作符LT、LE、GT、GE、EQ和NE不得用作表别名或列别名。
  • 工具支持列的ALIAS名称。如果ALIAS名称与列名称相同,则仅为该列而非表中其他列指定ALIAS。在以下示例中,DATA_DT列名称与DATA_DT别名之间存在冲突,工具不支持。
    1
    SELECT DATA_DT,DATA_INT AS DATA_DT FROM KK WHERE DATA_DT=DATE;
    

输入:ALIAS

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
SELECT
          expression1 (
               TITLE 'Expression 1'
          ) AS alias1
          ,CASE
               WHEN alias1 + Cx >= z
               THEN 1
               ELSE 0
          END AS alias2
     FROM
          tab1
     WHERE
          alias1 = y
;

输出:tdMigrateALIAS = FALSE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
SELECT
          expression1 AS alias1
          ,CASE
               WHEN alias1 + Cx >= z
               THEN 1
               ELSE 0
          END AS alias2
     FROM
          tab1
     WHERE
          alias1 = y
;

输出:tdMigrateALIAS = TRUE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
SELECT
          expression1 AS alias1
          ,CASE
               WHEN expression1 + Cx >= z
               THEN 1
               ELSE 0
          END AS alias2
     FROM
          tab1
     WHERE
          expression1 = y
;