変換関数

この関数ファミリーを使用して、Snowflakeデータ型の式を別のデータ型に変換できます。

このトピックの内容:

関数のリスト

サブカテゴリ

関数

注意

任意のデータ型

CAST 、 ::

TRY_CAST

CAST のエラー処理バージョン。

テキスト/文字/バイナリデータ型

TO_CHAR , TO_VARCHAR

TO_BINARY

TRY_TO_BINARY

TO_BINARY のエラー処理バージョン。

数値データ型

TO_DECIMAL , TO_NUMBER , TO_NUMERIC

TO_DOUBLE

TRY_TO_DECIMAL, TRY_TO_NUMBER, TRY_TO_NUMERIC

TO_DECIMAL、 TO_NUMBER などのエラー処理バージョン。

TRY_TO_DOUBLE

TO_DOUBLE のエラー処理バージョン。

ブールデータ型

TO_BOOLEAN

TRY_TO_BOOLEAN

TO_BOOLEAN のエラー処理バージョン。

日付と時刻のデータ型

TO_DATE , DATE

TO_TIME , TIME

TO_TIMESTAMP / TO_TIMESTAMP_*

TRY_TO_DATE

TO_DATE のエラー処理バージョン。

TRY_TO_TIME

TO_TIME のエラー処理バージョン。

TRY_TO_TIMESTAMP / TRY_TO_TIMESTAMP_*

TO_TIMESTAMP などのエラー処理バージョン。

半構造化データ型

TO_ARRAY

TO_OBJECT

TO_VARIANT

地理空間データ型

TO_GEOGRAPHY

TRY_TO_GEOGRAPHY

TO_GEOGRAPHY のエラー処理バージョン

ST_GEOGFROMGEOHASH

ST_GEOGRAPHYFROMWKB

ST_GEOGRAPHYFROMWKT

エラー処理変換関数

プレフィックスがTRY_の変換関数は、それぞれの変換関数の特別なバージョンです。これらの関数は、変換を実行できない場合にエラーを発生させる代わりに NULL 値を返します。

これらの関数は、入力に文字列式(つまり、 VARCHAR または CHAR データ型)のみをサポートしています。

重要

これらのエラー処理変換関数は、変換エラーが比較的まれな状況向けに最適化されています。

  • エラーがない(または非常に少ない)場合、パフォーマンスへの目に見える影響はありません。

  • 変換の失敗が多数ある場合にこれらの関数を使用すると、パフォーマンスが大幅に低下する可能性があります。また、 VARIANT 型でそれらを使用する場合、一部の操作によりパフォーマンスが低下する可能性があります。

変換関数の数値形式

関数 TO_DECIMAL , TO_NUMBER , TO_NUMERIC および TO_DOUBLE は、入力式が文字列に評価される場合、入力文字列の形式を指定するオプションのパラメーターを受け入れます。このパラメーターに設定できる値の詳細については、 SQL 形式モデル をご参照ください。

変換関数の日付と時刻の形式

TO_CHAR , TO_VARCHARTO_DATE , DATETRY_TO_DATETO_TIME , TIMETRY_TO_TIME、 および TO_TIMESTAMP / TO_TIMESTAMP_*TRY_TO_TIMESTAMP / TRY_TO_TIMESTAMP_* のすべてのバリエーションは、文字列の解析または生成に必要な形式を指定するオプションの引数を受け入れます。日付、時刻、タイムスタンプの場合、形式は次のキーシンボルを含む任意のテキストで構成できます(大文字と小文字の区別なし)。

形式

説明

YYYY

年を表す4桁の数字。

YY

TWO_DIGIT_CENTURY_START セッションパラメーターによって制御される年を表す2桁の数字。例: 1980 に設定されている場合、 79 および 80 の値はそれぞれ 2079 および 1980 として解析されます。

MM

月を表す2桁の数字(01=1月など)。

MON

完全な月名または短縮された月名。

MMMM

完全な月名。

DD

日を表す2桁の数字(01から31)。

DY

曜日の略称。

HH24

時間を表す2桁の数字(00から23)。午前/午後は許可されて いません

HH12

時間を表す2桁の数字(01から12)。午前/午後は許可されています。

AMPM

午前(am)/午後(pm)。 HH12 で使用します。

MI

分を表す2桁の数字(00から59)。

SS

秒を表す2桁の数字(00から59)。

FF

精度0(秒)から9(ナノ秒)までの小数秒。例: FFFF0FF3FF9FF を指定することは、 FF6 (マイクロ秒)と同等です。

TZH:TZMTZHTZMTZH

タイムゾーンの時間と分、 UTC との時差。記号として +/- を付けることができます。

使用上の注意

二重引用符で囲まれた形式または上記の要素以外の形式のものは、解釈されることなく解析/フォーマットされます。

SELECT TO_DATE('3/4/2013', 'dd/mm/yyyy');

-----------------------------------+
 to_date('3/4/2013', 'dd/mm/yyyy') |
-----------------------------------+
 2013-04-03                        |
-----------------------------------+
SELECT TO_VARCHAR('2013-04-05'::date, 'mon dd, yyyy');

------------------------------------------------+
 to_varchar('2013-04-05'::date, 'mon dd, yyyy') |
------------------------------------------------+
 Apr 05, 2013                                   |
------------------------------------------------+

変換関数のバイナリ形式

TO_CHAR , TO_VARCHAR および TO_BINARY は、文字列を解析または生成するために予期される形式を指定するオプションの引数を受け入れます。

形式は、次の文字列のいずれかにできます(大文字と小文字の区別なし)。

  • HEX

  • BASE64

  • UTF-8

これらの形式の詳細については、 サポートされているバイナリ形式の概要 をご参照ください。

これらの形式の使用例については、 バイナリ入出力 の例のセクションをご参照ください。