---
title: "FILES 表函数 - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: "FILES 表函数 描述 FILES(...) 用于把外部文件位置映射为可查询行集，支持在 SELECT ... FROM 中直接读取外部数据。 语法 FILES(location_expr, format_expr [, pattern_expr]) 常见写法如下： SELECT * FROM FILES( loc…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# FILES 表函数

更新时间：2026-07-14 20:43:11

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/400.functions-of-mysql-mode/760.table-functions-of-mysql-mode/200.files-table-function-of-mysql-mode.md)  

## 描述

`FILES(...)` 用于把外部文件位置映射为可查询行集，支持在 `SELECT ... FROM` 中直接读取外部数据。

## 语法

```sql
FILES(location_expr, format_expr [, pattern_expr])

```

常见写法如下：

```sql
SELECT * FROM
FILES(
  location = '/data/',
  format (TYPE = 'csv', field_delimiter = ',', parse_header = true),
  pattern = 'datafiles$'
);

```

## 参数说明

- `location_expr`：外部数据位置。
 - `format_expr`：文件格式子句，写法为 `FORMAT (...)` 或 `format (...)`（关键字大小写不敏感）。括号内为逗号分隔的格式选项列表，**必须**包含一项 `TYPE = '<文件类型>'`，其中 `<文件类型>` 为字符串字面量，取 `'CSV'`、`'PARQUET'` 或 `'ORC'`。各选项的语义、默认值与 [CREATE EXTERNAL TABLE 中的 `format_type_options`](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686072) 一致；在 `FILES` 中既可以使用文档外表语法中的大写形式（如 `FIELD_DELIMITER`），也可以使用小写下划线形式（如 `field_delimiter`），二者等价。
 - `pattern_expr`：可选，用于按文件名模式过滤。

### `format(...)` 中常用选项说明

`TYPE` 指定后，可按需追加下列选项（仅列出 `FILES` 读取平面文件时常用项；更完整的语法树见上文链接中的外表章节）。

**当 `TYPE = 'CSV'` 时**，还可指定例如：

| 选项 | 含义概要 |
| --- | --- |
| `LINE_DELIMITER` / `line_delimiter` | 行分隔符，默认 `'\n'`。 |
| `FIELD_DELIMITER` / `field_delimiter` | 列分隔符，默认 `'\t'`。 |
| `ESCAPE` / `escape` | 转义字符，长度 1 字节；默认值为反斜杠 `\`。 |
| `FIELD_OPTIONALLY_ENCLOSED_BY` / `field_optionally_enclosed_by` | 包裹字段值的字符，默认可为空。 |
| `ENCODING` / `encoding` | 文件字符集；不指定时默认 `UTF8MB4`。 |
| `NULL_IF` / `null_if` | 视为 `NULL` 的字符串列表，语法为 `null_if = ('串1', '串2', ...)`。 |
| `SKIP_HEADER` / `skip_header` | 跳过文件头的行数，取非负整数。 |
| `PARSE_HEADER` / `parse_header` | 是否将首行解析为列名，取 `TRUE`/`FALSE`（或 `true`/`false`）。 |
| `SKIP_BLANK_LINES` / `skip_blank_lines` | 是否跳过空白行，默认 `FALSE`。 |
| `TRIM_SPACE` / `trim_space` | 是否去掉字段首尾空格，默认 `FALSE`。 |
| `EMPTY_FIELD_AS_NULL` / `empty_field_as_null` | 是否把空字段当作 `NULL`，默认 `FALSE`。 |
| `IGNORE_LAST_EMPTY_COLUMN` / `ignore_last_empty_column` | 行末若多出一个空字段是否忽略，默认 `TRUE`。 |
| `COMPRESSION` / `compression` | 压缩格式：`GZIP`、`ZSTD`、`DEFLATE`、`NONE`、`SNAPPY_BLOCK` 等。 |
| `PARALLEL_PARSE_ON_SINGLE_FILE` / `parallel_parse_on_single_file` | 是否对单文件并行解析，默认 `TRUE`。 |
| `PARALLEL_PARSE_FILE_SIZE_THRESHOLD` / `parallel_parse_file_size_threshold` | 触发并行解析的文件大小阈值（字节），默认 256 MB。 |
| `MAX_ROW_LENGTH` / `max_row_length` | 单行最大长度（字节），默认 2 MB，用于并行解析阶段。 |

#### 注意

不要同时使用 `SKIP_HEADER`/`skip_header` 与 `PARSE_HEADER`/`parse_header`，二者语义冲突，会报错。

#### 注意

当数据文件中包含真正的 `NULL` 值（非字面量字符串 `"NULL"`）时，必须显式设置 `FIELD_OPTIONALLY_ENCLOSED_BY`/`field_optionally_enclosed_by`，且取值不能为空。详见外表文档中对应说明。

**当 `TYPE = 'PARQUET'` 或 `TYPE = 'ORC'` 时**，在常见查询场景中一般只需指定 `TYPE` 即可；若还需叠加其它读入选项，名称与含义与外表 `FORMAT = (...)` 子句一致，参见 [CREATE EXTERNAL TABLE](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686072) 中的语法定义与参数说明。

## 使用说明

- `FILES(...)` 可直接用于 `SELECT` 的 `FROM` 子句。
 - 在 `LOAD DATA` 场景中，也可通过 `FROM FILES(...)` 指定数据来源。

## 相关文档

- [CREATE EXTERNAL TABLE（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686072)
 - [SELECT 语句（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005687394)
 - [LOAD DATA 语句（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686093)
 - [TABLE FUNCTION 概述（MySQL 模式）](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000006086413)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
