SnowConvert AI - IBM DB2 の機能の違い

SSC-FDM-DB0001

FUNCTIONALITY MIGHT BE DIFFERENT DEPENDING ON THE DB2 DATABASE.

重大性

説明

このメッセージは、 SQL 要素が DB2 データベースのバージョン(DB2 for iDB2 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
);
Copy
出力コード:
 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" }}';
Copy

推奨事項

  • コードを見直して、結果の変換は、使用されている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)

  • CAST expressions (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;
Copy

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;
$$;
Copy

推奨事項

  • Review the converted code to ensure that using NUMBER(38, 37) instead of DECFLOAT does 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 CAST expressions where DECFLOAT is supported.

  • さらにサポートが必要な場合は、 snowconvert-support@snowflake.com までメールでお問い合わせください