SnowConvert AI - プレビュー機能の設定

プレビュー機能の設定

SnowConvert AIのプレビュー機能の設定では、 Snowflakeパブリックプレビューの機能 を利用した変換を有効にすることができます。利用可能なフラグ のいずれかをテキストボックスに入力することで、SnowConvert AIは、一般提供ステータス(GA)のSnowflake機能のみに制限されるのではなく、現在パブリックプレビューステータスのSnowflake機能を利用するコードを生成することができます。

image

警告

プレビュー機能とは、評価およびテスト目的で利用可能なSnowflakeの機能ですが、まだ一般提供(GA)ではありません。実稼働システムでは使用しないでください。Snowflakeプレビュー機能の詳細については、 Snowflakeプレビュー利用規約 を参照してください。

Snowflakeのプレビュー機能を理解する

Snowflakeパブリックプレビューの機能は、Snowflakeに実装されテストされた新機能ですが、ユーザビリティやコーナーケースの処理が完全でない場合があります。SnowConvert AIでプレビュー機能を有効にすると、変換プロセスでより良い変換結果が得られる場合に、これらのプレビュー機能を使用するコードを生成できます。

プレビュー機能の使い方

  1. **SnowConvert AIで有効:**プレビュー機能の設定内のテキストボックスに、 利用可能なフラグ のいずれかを入力すると、SnowConvert AIがSnowflakeのプレビュー機能を使用してコードを生成できるようになります。

  2. Snowflakeで有効にする:SYSTEM_ENABLE_PREVIEW_ACCESS のようなシステム機能を使用して、Snowflakeアカウントでプレビュー機能が有効になっていることを確認してください。

  3. **徹底的にテストする:**プレビュー機能を使用する場合は、必ず本番環境以外のSnowflake環境で変換したコードをテストしてください。

重要な考慮事項

  • Snowflakeアカウントの互換性 :生成されたコードを使用するには、Snowflakeアカウントでプレビュー機能を有効にする必要があります

  • 機能の安定性 :Snowflakeのプレビュー機能は、将来のSnowflakeリリースで動作が変更されたり、削除されたりする可能性があります

  • 実稼働の制限 :プレビュー機能を使用したコードは、実稼働のSnowflake環境にデプロイしないでください。

  • ドキュメント :SnowConvert AIは、プレビュー機能が使用されていることを示すコメントを追加する場合があります

プレビュー機能の設定にアクセスする

SnowConvert AIでプレビュー機能を設定するには、以下を行います。

  1. SnowConvert AIインターフェースの Conversion Settings セクションに移動します。

  2. Preview Features タブまたはセクションを選択します。

  3. 利用可能なフラグ のいずれかをテキストボックスに入力し、SnowConvert AIがSnowflakeのプレビュー機能を使用できるようにします。各フラグのスペルが正しいことを確認してください。いずれかのフラグのスペルが間違っていると、変換時にすべてのフラグが無視されます。

  4. 変換を進めます。SnowConvert AIは、変換結果を向上させるプレビュー機能を自動的に使用します。

CLIからのプレビュー機能の使用

コマンドラインインターフェース(CLI)からSnowConvert AIを使用する場合、 --previewFlags 引数を使用することでプレビュー機能を有効にすることができます。値は引用符でくくられ、以下の形式でフラグが含まれていなければなりません。

--previewFlags "\"--enableFlag1 --enableFlag2\""
Copy

例:

snowct [command] --previewFlags "\"--enableFlag\"" [other arguments]
Copy

複数のフラグの場合:

snowct [command] --previewFlags "\"--enableFlag --enableAnotherFlag\"" [other arguments]
Copy

ベストプラクティス

  • 意味を理解する :変換されたコードでは、Snowflakeのプレビュー機能を有効にする必要があることを理解してください

注釈

どのSnowflakeプレビュー機能(SnowConvert AI)を利用できるかについての最新情報については、最新のSnowConvert AIリリースノートを参照するか、サポートにお問い合わせください。

利用可能なプレビュー機能

以下のセクションでは、変換中に特定のSnowflakeプレビュー機能を有効にするためにテキストボックスに入力できるプレビュー機能フラグの一覧を示します。各フラグにより、SnowConvert AIで特定のSnowflakeプレビュー機能を使用できます。

--enableSnowScriptUDF

バージョン1.19.7から非推奨。この機能はすでに一般提供されています。

このオプションにより、SnowScript UDFプレビュー機能を利用して、SnowConvert AIはユーザー定義関数を変換することができます。詳しくはこちらのドキュメントを参照してください: SnowflakeスクリプトUDFs

以下の言語でのみ利用可能です:

  • SQL Server

  • Azure Synapse

--enableFormatSpecifiersPreview

This option enables SnowConvert AI to utilize new Snowflake format specifiers and enhancements that are currently in preview. These improvements in Snowflake's formatting capabilities provide better translation accuracy for SQL Server date/time and numeric formatting functions.

What This Flag Enables:

This preview feature introduces new format elements and enhancements in Snowflake's TO_CHAR function, allowing SnowConvert AI to generate more accurate translations of SQL Server FORMAT() calls:

  1. New Date/Time Format Elements - Non-padded format specifiers (Y, MO, D, H24, H12, ME, S, P)

  2. Enhanced Numeric Formatting - Percentage and number formats with proper grouping

  3. TM9 Format Enhancement - Arguments for precision and grouping control

These are Snowflake improvements, not just SnowConvert AI translation features. Your Snowflake account must have these preview features enabled to execute the converted code.

Note: To use code generated with this flag, you must request access to these preview features in your Snowflake account. Submit your request using this form: Snowflake Format Improvements Preview Access Request

Date Format Specifiers (Preview)

This flag enables SnowConvert AI to use new Snowflake date/time format elements that support non-padded output, providing accurate translations of SQL Server's custom single-character format specifiers.

New Snowflake Format Elements:

These format elements are new in Snowflake (in preview) and enable better migration from SQL Server:

  • Y - Year last 2 digits without padding (e.g., 25 from 2025, 5 from 2005)

  • MO - Month without padding (e.g., 3 for March)

  • D - Day without padding (e.g., 5 for the 5th day)

  • H24 - Hour in 24-hour format without padding (e.g., 14 for 2 PM)

  • H12 - Hour in 12-hour format without padding (e.g., 2 for 2 PM)

  • ME - Minute without padding (e.g., 7 for 07 minutes)

  • S - Second without padding (e.g., 3 for 03 seconds)

  • P - Single-character AM/PM indicator (e.g., A for AM, P for PM)

Translation Examples:

The following examples show how SQL Server FORMAT() patterns are translated to Snowflake using these new format elements:

SQL Server Code

SQL Server Output

Snowflake Translation

Snowflake Output

FORMAT(CAST('2025-03-05' AS DATE), '%M')

3

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05'), 'MO')

3

FORMAT(CAST('2025-03-05' AS DATE), '%d')

5

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05'), 'D')

5

FORMAT(CAST('2025-03-05' AS DATE), '%y')

25

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05'), 'Y')

25

FORMAT(CAST('2025-03-05 14:07:03' AS DATETIME), '%H')

14

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05 14:07:03'), 'H24')

14

FORMAT(CAST('2025-03-05 14:07:03' AS DATETIME), '%h')

2

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05 14:07:03'), 'H12')

2

FORMAT(CAST('2025-03-05 14:07:03' AS DATETIME), '%m')

7

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05 14:07:03'), 'ME')

7

FORMAT(CAST('2025-03-05 14:07:03' AS DATETIME), '%s')

3

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05 14:07:03'), 'S')

3

Combined Format Patterns:

SQL Server Code

SQL Server Output

Snowflake Translation

Snowflake Output

FORMAT(CAST('2025-03-05 14:07:03' AS DATETIME), 'M/d/yyyy H:m:s')

3/5/2025 14:7:3

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05 14:07:03'), 'MO/D/YYYY H24:ME:S')

3/5/2025 14:7:3

FORMAT(CAST('2025-03-05 14:07:03' AS DATETIME), 'M/d/yyyy h:m:s tt')

3/5/2025 2:7:3 PM

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05 14:07:03'), 'MO/D/YYYY H12:ME:S PM')

3/5/2025 2:7:3 PM

FORMAT(CAST('2025-03-05 14:07:03' AS DATETIME), 'h:m:s t')

2:7:3 P

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05 14:07:03'), 'H12:ME:S P')

2:7:3 P

FORMAT(CAST('2025-03-05' AS DATE), 'M/d/%y')

3/5/25

TO_CHAR(TO_TIMESTAMP_NTZ('2025-03-05'), 'MO/D/Y')

3/5/25

Key Points:

  • MO replaces SQL Server's %M (uppercase M = month)

  • ME replaces SQL Server's %m (lowercase m = minute)

  • H24 replaces SQL Server's %H (uppercase H = 24-hour)

  • H12 replaces SQL Server's %H (lowercase h = 12-hour)

  • P provides single-character AM/PM output (A or P)

  • All formats maintain SQL Server's behavior of no leading zeros

Numeric Format Specifiers (Preview)

This flag enables SnowConvert AI to translate SQL Server's percentage and number formatting patterns using Snowflake's numeric format capabilities.

Percentage Formats (P and %):

SQL Server's P format and custom % patterns automatically multiply values by 100 and add percentage symbols. The Snowflake translations use fixed-point formats with % symbols:

SQL Server Code

SQL Server Output

Snowflake Translation

Snowflake Output

FORMAT(0.1234, 'P')

12.34 %

TO_CHAR(0.1234, 'FM9,999,999,999,999.00%')

12.34 %

FORMAT(0.1234, 'P0')

12 %

TO_CHAR(0.1234, 'FM9,999,999,999,999%')

12 %

FORMAT(0.1234, 'P2')

12.34 %

TO_CHAR(0.1234, 'FM9,999,999,999,999.00%')

12.34 %

FORMAT(0.1234, '0.00%')

12.34%

TO_CHAR(0.1234, 'FM9999999999999.00%')

12.34%

FORMAT(0.1234, '#,#.00%')

12.34%

TO_CHAR(0.1234, 'FM9,999,999,999,999.00%')

12.34%

FORMAT(0.1234, '%0.00')

%12.34

TO_CHAR(0.1234, '%FM9999999999999.00')

%12.34

Number Formats (N):

SQL Server's N format provides thousand separators and controlled decimal precision. The Snowflake translations use the enhanced TM9 format element with arguments:

SQL Server Code

SQL Server Output

Snowflake Translation

Snowflake Output

FORMAT(1234567.89, 'N')

1,234,567.89

TO_CHAR(1234567.89, 'TM9(2,3)')

1,234,567.89

FORMAT(1234567.89, 'N0')

1,234,568

TO_CHAR(1234567.89, 'TM9(0,3)')

1,234,568

FORMAT(1234567.89, 'N1')

1,234,567.9

TO_CHAR(1234567.89, 'TM9(1,3)')

1,234,567.9

FORMAT(1234567.89, 'N4')

1,234,567.8900

TO_CHAR(1234567.89, 'TM9(4,3)')

1,234,567.8900

FORMAT(-1234567.89, 'N2')

-1,234,567.89

TO_CHAR(-1234567.89, 'TM9(2,3)')

-1,234,567.89

TM9 Format Element Enhancement (Preview)

The existing Snowflake TM9 format element has been enhanced in this preview to accept two optional arguments for better control over numeric formatting. This is a Snowflake improvement that enables better translations from SQL Server.

Syntax: TM9(fractional_digits, grouping_size)

Translation Examples:

SQL Server Code

Snowflake Translation

Input Value

Snowflake Output

Description

FORMAT(x, 'N2')

TO_CHAR(x, 'TM9(2,3)')

1234.56789

1,234.57

2 decimals with grouping

FORMAT(x, 'N0')

TO_CHAR(x, 'TM9(0,3)')

1234.56789

1,235

No decimals, rounded

FORMAT(x, 'N4')

TO_CHAR(x, 'TM9(4,3)')

1234567.89

1,234,567.8900

4 decimals with grouping

(Direct usage)

TO_CHAR(x, 'TM9(ALL,3)')

1234.56789

1,234.56789

All decimals, grouped

(Direct usage)

TO_CHAR(x, 'TM9(3)')

1234.56789

1234.568

3 decimals, no grouping

(Direct usage)

TO_CHAR(x, 'TM9')

1234.56789

1234.56789

All decimals, no grouping (default)

Behavior Details:

-- Snowflake examples with TM9 enhancement
SELECT 
    TO_CHAR(1234.56789, 'TM9')           AS default_format,    -- 1234.56789
    TO_CHAR(1234.56789, 'TM9(2)')        AS two_decimals,      -- 1234.57
    TO_CHAR(1234.56789, 'TM9(0)')        AS integer_only,      -- 1235
    TO_CHAR(1234.56789, 'TM9(ALL, 3)')   AS all_with_group,    -- 1,234.56789
    TO_CHAR(1234567.89, 'TM9(3, 3)')     AS three_with_group,  -- 1,234,567.890
    TO_CHAR(-1234567.89, 'TM9(2, 3)')    AS negative_value;    -- -1,234,567.89
Copy

Available for: SQL Server only