SnowConvert AI - Teradata¶
特定的 CLI 实参¶
The following CLI arguments are specific for executing migrations with SnowConvert AI for Teradata
--displaceDatabaseAsSchema¶
此标志必须与 -s 参数一起使用。使用时,它会将 Teradata 的数据库名称限定保留为 Snowflake 的数据仓库,这与其成为 Snowflake 代码架构的默认行为相反。让我们来看看包含 -s customSchema 的示例:
SELECT * FROM databaseName.tableName;
-- Additional Params: -s customSchema
SELECT
* FROM
customSchema.tableName;
-- Additional Params: -s customSchema --displaceDatabaseAsSchema
SELECT
* FROM
databaseName.customSchema.tableName;
--CharacterToApproximateNumber <NUMBER>¶
CHARACTER 转换为近似数的整数值(默认值:10)。
--DefaultDateFormat <STRING>¶
默认 DATE 格式的字符串值(默认值:"YYYY/MM/DD")。
--DefaultTimeFormat <STRING>¶
String value for the Default TIME format (Default: "HH:MI:SS.FF6").
--DefaultTimestampFormat <STRING>¶
String value for the Default TIMESTAMP format (Default: "YYYY/MM/DD HH:MI:SS.FF6").
--DefaultTimezoneFormat <STRING>¶
默认 TIMEZONE 格式的字符串值(默认值:"GMT-5")。
-p, --scriptTargetLanguage <TARGET_LANGUAGE>¶
该字符串值指定了转换 Bteq 和 Mload 脚本文件所需的目标语言。目前支持的值是 SnowScript 和 Python。默认值设置为 Python。
-n, --SessionMode <SESSION_MODE>¶
SnowConvert AI handles Teradata code in both TERA and ANSI modes. Currently, this is limited to the default case specification of character data and how it affects comparisons.
字符串值指定输入代码的会话模式。目前支持的值是 TERA 和 ANSI。默认值设置为 TERA。
You can learn more about how SnowConvert AI handles and converts code depending on the session mode, check here.
--replaceDeleteAllToTruncate¶
该标志用于指明是否必须使用 Truncate 替换“Delete All”语句。替换完成后,这将生成 SSC-EWI-TD0037。示例:
create table testTable(
column1 varchar(30)
);
delete testTable all;
delete from testTable;
CREATE OR REPLACE TABLE testTable (
column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
DELETE FROM testTable;
DELETE FROM
testTable;
-- Additional Params: --replaceDeleteAllToTruncate
CREATE OR REPLACE TABLE testTable (
column1 varchar(30)
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
TRUNCATE TABLE testTable;
DELETE FROM
testTable;
--splitPeriodDatatype¶
该标志用于表示该工具应将 PERIOD 数据类型的任何使用迁移为两个单独的 DATETIME 字段,用于分别保存原始时间段的开始值和结束值,每当使用此标志迁移时间段字段或函数时,都会添加 SSC-FDM-TD0004,以提示该项更改。
CREATE TABLE myTable(
col1 PERIOD(DATE),
col2 VARCHAR(50),
col3 PERIOD(TIMESTAMP)
);
CREATE OR REPLACE TABLE myTable (
col1 VARCHAR(24) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!,
col2 VARCHAR(50),
col3 VARCHAR(58) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
-- Additional Params: --splitPeriodDatatype
CREATE OR REPLACE TABLE myTable (
col1_begin DATE,
col1_end DATE /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/,
col2 VARCHAR(50),
col3_begin TIMESTAMP,
col3_end TIMESTAMP /*** SSC-FDM-TD0004 - PERIOD DATA TYPES ARE HANDLED AS TWO DATA FIELDS ***/
)
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}'
;
--arrange¶
该标志用于指示是否应在解析和转换前处理输入代码。
--RenamingFile¶
.json 文件的路径,该文件为某些对象(例如表、视图、过程、函数和宏)指定新名称。此参数不能与 customSchema 实参一起使用。导航到 重命名功能 以了解有关此实参的更多信息。
--UseCollateForCaseSpecification¶
This flag indicates whether to use COLLATE or UPPER to preserve Case Specification functionality, e.g. CASESPECIFIC or NOT CASESPECIFIC. By default, it is turned off, meaning that the UPPER function will be used to emulate case insensitivity (NOT CASESPECIFIC). To learn more about how Case Specification is handled by SnowConvert AI check here.