SnowConvert AI - IBM DB2 の機能の違い¶
SSC-FDM-DB0001¶
FUNCTIONALITY MIGHT BE DIFFERENT DEPENDING ON THE DB2 DATABASE.
重大性¶
低
説明¶
このメッセージは、 SQL 要素が DB2 データベースのバージョン(DB2 for i 、 DB2 for z/OS 、または DB2 for Linux, Unix, and Windows )によって異なる動作をするときに表示されます。 SnowConvert AI はすべての DB2 バージョンを1つとして扱うため、元のプラットフォームと比較すると、要素の翻訳に機能上の違いがあるかもしれません。
事例¶
DB2 データベースのバージョンによって動作が異なる、これまでに確認されたすべての SQL 要素を以下に示します。
CURRENT に MEMBER¶
DB2 for z/OS: CURRENT MEMBER は、ステートメントが実行されている現在のDb2データ共有メンバーのメンバー名を指定します。CURRENT MEMBER の値は文字列です。
Db2 for LUW:CURRENT MEMBER 特殊レジスターは、ステートメントのコーディネーターメンバーを識別する INTEGER 値を指定します。
コード例¶
入力コード:¶
CREATE TABLE T1
(
COL1 INT,
COL2 CHAR(8) WITH DEFAULT CURRENT MEMBER
);
出力コード:¶
CREATE TABLE T1
(
COL1 INT,
COL2 CHAR(8) DEFAULT
--** SSC-FDM-DB0001 - FUNCTIONALITY FOR CURRENT_ROLE MIGHT BE DIFFERENT DEPENDING ON THE DB2 DATABASE. **
CURRENT_ROLE()
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "db2", "convertedOn": "09/02/2025", "domain": "no-domain-provided" }}';
推奨事項¶
コードを見直して、結果の変換は、使用されているDb2のバージョンによって動作が異なる可能性があることに注意してください。
さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください
SSC-FDM-DB0002¶
DECFLOAT TYPE CHANGED TO NUMBER BECAUSE IT IS ONLY SUPPORTED IN TABLE COLUMNS AND CAST EXPRESSIONS IN SNOWFLAKE.
重大性¶
低
説明¶
This message is shown when a DECFLOAT data type is used in a context not supported by Snowflake. In Snowflake, DECFLOAT is only permitted in:
Table column definitions (
CREATE TABLE)CASTexpressions (CAST(value AS DECFLOAT))
When DECFLOAT is used in other contexts such as procedure parameters, function parameters, or local variable declarations, SnowConvert AI transforms it to NUMBER(38, 37) and adds this FDM to indicate the functional difference.
Code Example¶
DB2¶
CREATE PROCEDURE TestProc (param1 DECFLOAT)
BEGIN
DECLARE local_var DECFLOAT;
SET local_var = param1;
END;
Snowflake¶
CREATE OR REPLACE PROCEDURE TestProc (param1 NUMBER(38, 37) --** SSC-FDM-DB0002 - DECFLOAT TYPE CHANGED TO NUMBER BECAUSE IT IS ONLY SUPPORTED IN TABLE COLUMNS AND CAST EXPRESSIONS IN SNOWFLAKE. **
)
RETURNS VARCHAR
LANGUAGE SQL
AS
$$
BEGIN
LET local_var NUMBER(38, 37) --** SSC-FDM-DB0002 - DECFLOAT TYPE CHANGED TO NUMBER BECAUSE IT IS ONLY SUPPORTED IN TABLE COLUMNS AND CAST EXPRESSIONS IN SNOWFLAKE. **
:= NULL;
local_var := param1;
END;
$$;
推奨事項¶
Review the converted code to ensure that using
NUMBER(38, 37)instead ofDECFLOATdoes not affect your application logic.If precise decimal floating-point arithmetic is critical for these parameters or variables, consider refactoring your code to use table columns or
CASTexpressions whereDECFLOATis supported.さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください