11.3 DISCOVERファンクション
これはファイルの列プロファイルを検出するファンクションです。このファンクションは、parse()
をコールし、生成されたファイル・プロファイルを返します。このファンクションは、最初にparse()
をコールしてからget_file_profile()
をコールするかわりに使用できるショートカットです。
構文
function 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;
パラメータ
表11-1 DISCOVERファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
BLOBとして解析されるファイル・コンテンツ |
|
ファイル・タイプの導出に使用されるファイルの名前。 |
|
|
|
XLSXワークブックの場合。解析するワークシートの名前。省略した場合、このファンクションは最初に検出されたワークシートを使用します。 |
|
解析中にデータ型( |
|
|
|
XLSXワークブックの場合。解析するワークシートの名前。省略した場合、このファンクションは最初に検出されたワークシートを使用します。 |
|
JSONおよびXMLファイルの場合。JSONまたはXMLファイル内の行の配列/リストへのポインタ。省略した場合、このファンクションは次のように処理します。
|
|
CSV解析のデフォルトの行デリミタをオーバーライドします。 |
|
CSV解析のデフォルトの行デリミタをオーバーライドします。 |
|
特定のCSV列デリミタを使用します。省略した場合、ファンクションは最初の行の内容に基づいて列デリミタを検出します。 |
|
CSV解析のデフォルトの囲み文字をオーバーライドします。 |
|
ファイル・エンコーディング( |
|
|
戻り値
JSON形式のファイル・プロファイルを含むCLOBを返します。
例
select wwv_flow_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