変換関数

この関数ファミリーを使用して、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_GEOGPOINTFROMGEOHASH

ST_GEOGRAPHYFROMWKB

ST_GEOGRAPHYFROMWKT

TO_GEOMETRY

TRY_TO_GEOMETRY

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

ST_GEOMETRYFROMWKB

ST_GEOMETRYFROMWKT

エラー処理変換関数

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

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

重要

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

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

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

変換関数の数値形式

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

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

次の関数を使用すると、予想される日付、時刻、またはタイムスタンプの形式を指定して、文字列を解析または生成できます。

次の大文字と小文字を区別しない要素を使用してフォーマットを記述し、オプションの引数でフォーマットを指定します。

形式要素

説明

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)。 AM / PM は指定 できません

HH12

時間を表す2桁の数字(01から12)。 AM / PM を指定できます。

AMPM

午前(am)/午後(pm)。これは HH12 でのみ使用します (HH24 では使用 できません)。

MI

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

SS

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

FF[0-9]

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

TZH:TZMTZHTZMTZH

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

UUUU

ISO 形式 の4桁の年。これは BCE 年の場合は負になります。

注釈

  • 日付のみの形式を使用する場合、関連付けられた時刻はその日の午前0時と見なされます。

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

  • 有効な範囲、桁数、ベストプラクティスの詳細については、 日付、時刻、およびタイムスタンプ形式の使用に関する追加情報 をご参照ください。

使用上の注意

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

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

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

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

変換関数のバイナリ形式

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

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

  • HEX

  • BASE64

  • UTF-8

これらの形式の詳細については、 Overview of Supported Binary Formats をご参照ください。

これらの形式の使用例については、 Binary Input and Output の例のセクションをご参照ください。