20.4 DISCOVERファンクション
これはファイルの列プロファイルを検出するファンクションです。このファンクションは、parse()
をコールし、生成されたファイル・プロファイルを返します。このファンクションは、最初にparse()
をコールしてからget_file_profile()
をコールするかわりに使用できるショートカットです。
構文
APEX_DATA_PARSER.DISCOVER (
p_content IN BLOB,
p_file_name IN VARCHAR2,
p_decimal_char IN VARCHAR2 DEFAULT NULL,
p_xlsx_sheet_name IN VARCHAR2 DEFAULT NULL,
p_row_selector IN VARCHAR2 DEFAULT NULL,
p_csv_row_delimiter IN VARCHAR2 DEFAULT LF,
p_csv_col_delimiter IN VARCHAR2 DEFAULT NULL,
p_csv_enclosed IN VARCHAR2 DEFAULT '"',
p_file_charset IN VARCHAR2 DEFAULT 'AL32UTF8',
p_max_rows IN NUMBER DEFAULT 200 )
RETURN CLOB;
パラメータ
表20-2 DISCOVERのパラメータ
パラメータ | 説明 |
---|---|
p_content |
BLOBとして解析されるファイル・コンテンツ |
p_file_name |
ファイル・タイプの導出に使用されるファイルの名前。 |
p_decimal_char |
NUMBER データ型を検出する場合は、この小数点文字を使用します。指定しない場合、プロシージャで小数点文字が自動検出されます。
|
p_xlsx_sheet_name |
XLSXワークブックの場合。解析するワークシートの名前。省略した場合、このファンクションは最初に検出されたワークシートを使用します。 |
p_row_selector |
解析中にデータ型(
デフォルトは |
p_decimal_char |
NUMBER データ型を検出する場合は、この小数点文字を使用します。指定しない場合、プロシージャで小数点文字が自動検出されます。
|
p_xlsx_sheet_name |
XLSXワークブックの場合。解析するワークシートの名前。省略した場合、このファンクションは最初に検出されたワークシートを使用します。 |
p_row_selector |
JSONおよびXMLファイルの場合。JSONまたはXMLファイル内の行の配列/リストへのポインタ。省略した場合、このファンクションは次のように処理します。
|
p_csv_row_delimiter |
CSV解析のデフォルトの行デリミタをオーバーライドします。 |
p_csv_row_delimiter |
CSV解析のデフォルトの行デリミタをオーバーライドします。 |
p_csv_col_delimiter |
特定のCSV列デリミタを使用します。省略した場合、ファンクションは最初の行の内容に基づいて列デリミタを検出します。 |
p_csv_enclosed |
CSV解析のデフォルトの囲み文字をオーバーライドします。 |
p_file_charset |
ファイル・エンコーディング(UTF-8 (AL32UTF8) 以外の場合)。
|
p_max_rows |
P_MAX_ROWS 行が処理された後、検出を停止します。
|
戻り値
JSON形式のファイル・プロファイルを含むCLOBを返します。
例
select apex_data_parser.discover(
p_content => {BLOB containing XLSX file},
p_file_name=>'large.xlsx' ) as profile_json
from dual;
PROFILE_JSON
-----------------------------------------------------------
{
"file-encoding" : "AL32UTF8",
"single-row" : false,
"file-type" : 1,
"parsed-rows" : 2189,
"columns" : [
{
"name" : "C0",
"format-mask" : "",
"selector" : "",
"data-type" : 2
},
{
"selector" : "",
"format-mask" : "",
"data-type" : 1,
"name" : "FIRST_NAME"
},
{
"name" : "LAST_NAME",
"format-mask" : "",
"selector" : "",
"data-type" : 1
},
:
{
"name" : "DATE_",
"format-mask" : "DD\"/\"MM\"/\"YYYY",
"data-type" : 3,
"selector" : ""
},
{
"format-mask" : "",
"selector" : "",
"data-type" : 2,
"name" : "ID"
}
],
"row-selector" : "",
"headings-in-first-row" : true,
"xslx-worksheet" : "sheet1.xml",
"csv-delimiter" : ""
}
親トピック: APEX_DATA_PARSER