sqlforge一个SQL 格式化与方言转换工具

image

在线体验:https://sqlforge.dengshu.ovh/
GitHub:https://github.com/dengshu2/sqlforge

SQLForge:开源在线SQL格式化 + 跨方言转换工具

做数据开发、数仓迁移的同学,经常头疼两件事:杂乱SQL格式化,还有不同数据库之间SQL方言改写。

SQLForge 是一款纯前端开源SQL工具,浏览器本地完成SQL解析,语句不上传服务器,敏感SQL放心使用。

✨ 核心能力

  1. 多方言格式化
    一键美化SQL,自动缩进、统一关键字大小写,支持 MySQL / Hive / SparkSQL / PostgreSQL 等。

  2. 跨引擎SQL方言转换(主打功能)
    源方言 → 目标方言一键转换。
    典型场景:Hive SQL 迁移到 PostgreSQL、SparkSQL 转 MySQL,大幅减少脚本改造工作量。

  3. SQL分析辅助
    内置 AST 语法树查看、字段血缘提取、转换前后Diff对比,方便SQL调试与代码评审。

  4. 开源可私有化
    前端项目,可本地部署、二次开发,集成到内部数据平台。

🚀 快速上手

打开在线页面:https://sqlforge.dengshu.ovh/

  1. 选择源方言,粘贴SQL;
  2. 指定目标方言;
  3. 直接获取格式化+方言转换结果;
  4. 切换标签查看AST、血缘、变更差异。

示例:Hive SQL → PostgreSQL

原始 Hive SQL

select id,name,date_format(dt,'yyyy-MM') as month from ods_user where dt='2026-10-01' limit 100

转换后 PostgreSQL SQL

SELECT
    id,
    name,
    TO_CHAR(dt, 'yyyy-MM') AS month
FROM ods_user
WHERE dt = '2026-10-01'
LIMIT 100;

⚠️ 注意事项

方言转换只做语法层面自动改写,复杂UDF、引擎特有语法无法完美转换,转换后务必人工校验业务逻辑。工具是提效辅助,不能完全替代人工审核。

同类简单对比

工具 开源 方言转换 AST/血缘
SQLForge ✅ ✅ ✅
sql-formatter ✅ ❌仅格式化 ❌

链接

在线 Demo:https://sqlforge.dengshu.ovh/
源码仓库:https://github.com/dengshu2/sqlforge
欢迎 Star、提 Issue 和 PR。


实战样例:Hive SQL 转 PostgreSQL

输入(Hive)

select id,name,date_format(dt,'yyyy-MM') as month from ods_user where dt='2026-10-01' limit 100

输出(PostgreSQL)

SELECT
    id,
    name,
    TO_CHAR(dt, 'yyyy-MM') AS month
FROM ods_user
WHERE dt = '2026-10-01'
LIMIT 100;

可以看到:date_format 自动替换成 PG 的 TO_CHAR,同时自动格式化换行缩进。

posted on 2026-10-14 11:45  zh7314  阅读(5)  评论(0)    收藏  举报