DBeaver中时间显示异常需分三步解决:一是勾选“使用原始日期/时间格式”恢复时分秒显示;二是配置驱动属性use_server_time_zone=false和use_time_zone=Asia/Shanghai校准时区;三是导出CSV时改用制表符分隔并勾选“总是用引号括起字符串”。

时间字段在结果集里只显示 2023-09-28 00:00:00,不是数据本身丢了时分秒,而是 DBeaver 默认做了格式化截断——关掉“美化显示”,就能看到原始值。
勾选“使用原始日期/时间格式”
这是最直接有效的开关,适用于绝大多数 MySQL、PostgreSQL、SQL Server 等 JDBC 数据源。
- 路径:
窗口 → 首选项 → 编辑器 → 结果集 → 数据格式 - 勾选
使用原始日期/时间格式,点击应用 - 已打开的查询结果页不会自动刷新,需重新执行 SQL 才生效
- 该设置全局生效,所有连接共享;如只想对某个连接单独处理,需配合驱动属性
驱动属性里配 use_time_zone 和 use_server_time_zone
当时间显示偏移固定小时数(比如总多出 13 小时),说明时区没对齐,光改显示格式没用,得让 JDBC 驱动正确解析时间戳。
- 编辑连接 →
驱动属性标签页 - 添加或修改两项:
use_server_time_zone=false,use_time_zone=Asia/Shanghai - 注意:两者不能同时为
true,DBeaver 会报错only one of use_server_time_zone or use_time_zone must be enabled - MySQL 8.0+ 推荐用
serverTimezone=Asia/Shanghai替代,更稳定
导出 CSV 时日期列被截断或错位
导出功能不继承“原始格式”设置,它按自己的规则序列化值,容易把带空格的 2023-09-28 14:30:22 当成分隔符或换行符处理。
- 导出前,在结果集右键 →
导出结果集→ 选择CSV - 在导出配置中:
分隔符改成\t(制表符),总是用引号括起字符串勾选 - 如果仍异常,临时把日期列拖到非末尾位置再导出——某些旧版 DBeaver 对末列结尾换行敏感
- 导出编码建议选
UTF-8 with BOM,避免 Excel 打开中文乱码连带影响日期列识别
真正麻烦的不是设置项藏得多,而是“原始格式”只管查询显示,“时区属性”只管解析逻辑,“导出配置”又自成一套——三者得根据场景分别调,缺一不可。


















