17.05 - ROWFORMAT - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
mdr1472255012272

外部行のエンコーディング形式を次のように指定します。

ROWFORMAT('{"field_delimiter":",", "record_delimiter":"\n", "character_set":"LATIN"}')

ROWFORMAT指定では、ROWFORMATが他のデータ型の形式を指定している場合でも、JSON形式が使用されます。ROWFORMATには上記の3つのキーのみを含めることができ、field_delimiterはCSVデータでのみ有効です。キー名と値は大文字と小文字の区別がありますが、大文字小文字の組み合わせを使用できる"character_set"の値ではその限りではありません。

ペイロード列がDATASET CSV … WITH SCHEMAデータ型を持つように定義される場合、スキーマ情報がROWFORMATの指定よりも優先されます。

ROWFORMAT文字セット指定は、ペイロード列文字セットと互換性がなければなりません。

Parquet形式のデータにROWFORMATを指定しないでください。

JSON列の文字セット定義それぞれにおいて、デフォルト値は以下のとおりです。

文字セット デフォルトの定義
UNICODE
ROWFORMAT('{"record_delimiter":"\n", "character_set":"UTF8"}')
LATIN
ROWFORMAT('{"record_delimiter":"\n", "character_set":"LATIN"}')

CSV列の文字セット定義それぞれにおいて、デフォルト値は以下のとおりです。

文字セット デフォルトの定義
UNICODE
ROWFORMAT('{"character_set":"UTF8"}') 
LATIN
ROWFORMAT('{"character_set":"LATIN"}')
以下のオプションを指定できます(大文字と小文字の区別あり)。
field_delimiter
デフォルトは","(カンマ)です。カスタムのフィールド区切り記号(タブ"\t"など)を指定することもできます。
field_delimiterは、CSVデータに対してのみ有効です。CSVデータがCSVスキーマに関連付けられており、スキーマがフィールド区切り記号も指定している場合、スキーマの指定がROWFORMATの指定よりも優先されます。CSVスキーマの詳細については、CSVファイル ヘッダーとスキーマを参照してください。
record_delimiter
改行文字: "\n"。レコード区切り記号は改行文字でなければなりません。
character_set
"UTF8"または"LATIN"