DBeaver导入CSV时指定竖线“|”为分隔符,需在导入向导「Data format」页将Format设为Custom,并在Field delimiter框中直接输入|;导出时须在Export Result Set的Settings中手动修改Delimiter为|;复制为分隔文本则需右键选择Copy as → Delimited text并手动设分隔符为|。

导入CSV时怎么指定竖线|为列分隔符
直接在导入向导里改——DBeaver不默认支持|,但能手动填。关键不是选预设,而是切到「自定义分隔符」模式。
- 右键表 →
Import Data→ 选文件 → 下一步到「Data format」页 - 「Format」下拉选
Custom(别选CSV或TSV) - 在「Field delimiter」输入框里**直接敲入
|**(不要加空格、引号或反斜杠) - 如果字段含换行或双引号,勾选
Text qualifier并填";否则留空
导出结果用竖线分隔,为什么导出后还是逗号
因为导出设置和导入是两套逻辑,导出默认走「CSV」格式模板,无视导入时的分隔符设定。
- 右键结果集 →
Export Result Set→ 选「File」→ 格式选CSV - 点开
Settings→ 找到Delimiter字段 → **手动改成|** - 注意:此时
Quote string建议设为",否则含逗号或换行的字段会解析错 - 如果导出的是查询结果而非表数据,且用了
UNION或计算列,确认「Export metadata」没误勾选,它会额外加一栏标题行,干扰竖线对齐
SQL Execution结果窗口里复制出来为什么不是竖线分隔
这是剪贴板行为,和导入/导出设置完全无关。结果表格右键「Copy as」系列选项才是控制复制格式的关键。
- 选中单元格 → 右键 →
Copy as→Delimited text - 这时弹出小窗,
Delimiter默认是\t,**手动改成|**,再点 OK - 不要用
Copy(纯文本)或Copy as HTML——它们不走分隔符逻辑 - 这个设置不保存,每次复制都要重新选一次;没有全局默认值
批量导入多个竖线分隔文件,怎么避免每回都手输|
没法全局设,但可以复用配置模板。重点是保存「Import Settings」而不是依赖向导记忆。
- 第一次按上面方法配好
|导入后,到向导最后一步前,点Save configuration(勾选并命名,比如pipe_delimited) - 下次导入同类型文件时,在第一步「Source」页点
Load configuration→ 选刚存的配置 - 注意:该配置只保存分隔符、引号、编码等格式项,不保存目标表或列映射;映射仍需手动确认
- 如果文件无表头,记得同步勾选
First row is header的反选状态,否则列会整体偏移
竖线分隔看似简单,但 DBeaver 在导入、导出、复制三个场景下各自维护一套分隔符逻辑,而且都不记上次用啥——最常踩的坑就是以为设过一次就全局生效了。











