変換関数

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

このトピックの内容:

関数のリスト

サブカテゴリ

関数

メモ

任意のデータ型

CAST、 ::

TRY_CAST

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

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

TO_CHAR , TO_VARCHAR

TO_BINARY

TRY_TO_BINARY

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

数値データ型

TO_DECFLOAT

TO_DECIMAL , TO_NUMBER , TO_NUMERIC

TO_DOUBLE

TRY_TO_DECFLOAT

Error-handling version of TO_DECFLOAT.

TRY_TO_DECIMAL, TRY_TO_NUMBER, TRY_TO_NUMERIC

Error-handling versions of TO_DECIMAL, TO_NUMBER, and so on.

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_*

Error-handling versions of TO_TIMESTAMP, and so on.

半構造化データ型

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桁の [1] 年。

YY

2桁の [1] 年で、TWO_DIGIT_CENTURY_START セッションパラメーターで制御されます。たとえば 1980 に設定すると、7980 の値は、それぞれ 20791980 として解析されます。

MM

2桁の [1] 月(:code:`01`= Januaryなど)。

MON

Abbreviated month name [2].

MMMM

Full month name [2].

DD

月の2桁の [1] の日(0131)。

DY

曜日の略称。

HH24

時間を表す2桁の [1] 数字(0023)。:emph:` / ` は指定 AM`できません:code:`PM

HH12

時間を表す2桁の [1] 数字(0112)。AM / PM を指定できます。

AMPM

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

MI

分を表す2桁の [1] 数字(0059)。

SS

秒を表す2桁の [1] 数字(0059)。

FF[0-9]

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

TZH:TZMTZHTZMTZH

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

UUUU

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

[1] 桁数は、値をテキストにシリアル化するときに生成される出力を説明します。テキストを解析する場合、Snowflakeは指定された桁数まで受け入れます。たとえば、日を表す数字は1桁または2桁にすることができます。

[2] For the MON format element, the output produced when serializing values to text is the abbreviated month name. For the MMMM format element, the output produced when serializing values to text is the full month name. When parsing text, Snowflake accepts the three-digit abbreviation or the full month name for both MON and MMMM. For example, "January" or "Jan", "February" or "Feb", and so on are accepted when parsing text.

注釈

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

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

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

使用上の注意

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

指定された入力形式 dd/mm/yyyy を使って、文字列を日付に変換します。出力における日付の表示形式は、 DATE_OUTPUT_FORMAT セッションパラメーター(デフォルト YYYY-MM-DD)によって決定されます。

SELECT TO_DATE('3/4/2024', 'dd/mm/yyyy');
Copy
+-----------------------------------+
| TO_DATE('3/4/2024', 'DD/MM/YYYY') |
|-----------------------------------|
| 2024-04-03                        |
+-----------------------------------+

日付を文字列に変換し、 日付出力形式 mon dd, yyyy を指定します。

SELECT TO_VARCHAR('2024-04-05'::DATE, 'mon dd, yyyy');
Copy
+------------------------------------------------+
| TO_VARCHAR('2024-04-05'::DATE, 'MON DD, YYYY') |
|------------------------------------------------|
| Apr 05, 2024                                   |
+------------------------------------------------+

変換関数のバイナリ形式

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

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

  • HEX

  • BASE64

  • UTF-8

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

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