3.6.8.5. TEXTTABLE


TEXTTABLE 関数は、文字の入力を処理して表形式出力を生成します。固定されたファイルフォーマット解析と、ファイルフォーマットの解析の両方を提供します。関数自体はプロジェクトの列を定義します。TEXTTABLE 関数は暗黙的にネストされたテーブルで、FROM 句内で使用できます。

用途

TEXTTABLE(expression [SELECTOR string] COLUMNS <COLUMN>, ... [NO ROW DELIMITER | ROW DELIMITER char] [DELIMITER char] [(QUOTE|ESCAPE) char] [HEADER [integer]] [SKIP integer] [NO TRIM]) AS name
Copy to Clipboard Toggle word wrap

ここで、<COLUMN>

COLUMN := name (FOR ORDINALITY | ([HEADER string] datatype [WIDTH integer [NO TRIM]] [SELECTOR string integer]))
Copy to Clipboard Toggle word wrap

パラメーター

expression
処理するテキストコンテンツ。文字大きなオブジェクト(CLOB)に変換できます。
セレクター

複数のタイプの行が含まれるファイルで使用されます(例: order ヘッダー、詳細、概要)。TEXTTABLE SELECTOR は、出力に追加する行を指定します。一致する行はセレクター文字列で開始する必要があります。列区切りファイルのセレクターの後に列区切り文字が続く必要があります。

TEXTTABLE SELECTOR が指定された場合、列の値に SELECTOR を指定することもできます。列 SELECTOR 引数は、指定した SELECTOR 接頭辞が付いた直近のテキスト行を選択し、指定された 1 ベースの整数の位置(セレクター自体を含む)の値を選択します。指定の行を持つそのようなテキスト行や位置が存在しない場合は、null 値が生成されます。SELECTOR 列は、固定幅解析では有効ではありません。

行区切り文字なし
固定の解析で、改行行区切り文字があることを想定すべきではないことを指定します。
行区切り文字
行区切り文字 / 改行を別の文字に設定します。デフォルトは改行文字です。キャリッジリターンの改行を 1 文字として処理するための組み込み処理機能を使用する。ROW DELIMITER が指定された場合、カリッジリターンには特別な対応はありません。
DELIMITER
使用するフィールド区切り文字文字を設定します。デフォルトは です。
QUOTE
フィールド値をラップするために使用される引用符、または修飾子を設定します。デフォルトは です。
ESCAPE
引用符が使用されていない場合に使用するエスケープ文字を設定します。これは、区切り文字や改行文字が先頭文字でエスケープされる場合に使用します(例: \ )。
ヘッダー
列名が発生するテキスト行番号(改行ごとにカウント)を指定します。列の HEADER オプションが指定された場合、これは予想されるヘッダー名として使用されます。ヘッダーの前にある行はすべてスキップされます。HEADER が指定されている場合は、ヘッダー行を使用して、大文字と小文字を区別しない名前が一致する TEXTTABLE 列の位置を判断します。これは、列のサブセットのみが必要な状況で特に便利です。HEADER 値が指定されていない場合、デフォルトは 1 に設定されます。HEADER が指定されていない場合、列はテキストの内容と位置に一致することが予想されます。
SKIP
コンテンツを解析する前にスキップするテキスト行の数(新しい行をすべてカウント)を指定します。HEADER は SKIP で指定できます。
FOR ORDINALITY
整数として入力され、1 ベースの項目番号を値として返します。
WIDTH
列の固定幅の長さ(バイト単位ではなく)を指定します。デフォルトの ROW DELIMITER では、CR NL シーケンスは単一の文字としてカウントされます。
トリムなし
TEXTTABLE に指定すると、すべての列およびヘッダーの値に影響します。NO TRIM が列に指定された場合、固定または非修飾テキストの値は先頭および末尾の空白をトリミングされません。

構文ルール

  • 幅が 1 つの列に指定される場合は、すべての列に指定し、負の値ではない整数にする必要があります。
  • 幅が指定されている場合は、固定の幅解析が使用され、ESCAPE、QUOTE、列 SELECTOR、または HEADER は指定しないでください。
  • 幅が指定されていない場合は、NO ROW DELIMITER を使用することはできません。
  • 列名に重複を含めることはできません。
  • QUOTE、DELIMITER、および ROW DELIMITER に指定される文字はすべて異なっている必要があります。

TEXTTABLE の例

  • HEADER パラメーターを使用すると、1 行の ['b'] を返します。
SELECT * FROM TEXTTABLE(UNESCAPE('col1,col2,col3\na,b,c') COLUMNS col2 string HEADER) x
Copy to Clipboard Toggle word wrap
  • 固定の幅を使用し、2 行 ['a', 'b', 'c'], ['d', 'e', 'f'] を返します。
SELECT * FROM TEXTTABLE(UNESCAPE('abc\ndef') COLUMNS col1 string width 1, col2 string width 1, col3 string width 1) x
Copy to Clipboard Toggle word wrap
  • 行区切り文字なしで固定の幅を使用すると、3 行 ['a'], ['b'], ['c'] を返します。
SELECT * FROM TEXTTABLE('abc' COLUMNS col1 string width 1 NO ROW DELIMITER) x
Copy to Clipboard Toggle word wrap
  • ESCAPE パラメーターを使用すると、1 行 ['a,', 'b'] を返します。
SELECT * FROM TEXTTABLE('a:,,b' COLUMNS col1 string, col2 string ESCAPE ':') x
Copy to Clipboard Toggle word wrap
  • ネストされたテーブルとして以下を実行します。
SELECT x.* FROM t, TEXTTABLE(t.clobcolumn COLUMNS first string, second date SKIP 1) x
Copy to Clipboard Toggle word wrap
  • SELECTORs の使用。2 行 ['c', 'd', 'b'], ['c', 'f', 'b'] を返します。
SELECT * FROM TEXTTABLE('a,b\nc,d\nc,f' SELECTOR 'c' COLUMNS col1 string, col2 string col3 string SELECTOR 'a' 2) x
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat