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

在线体验: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

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

转换后 PostgreSQL SQL

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)

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;

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

相关推荐
这个DBA有点耶1 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
无言听风雨丶2 小时前
Redis 运维实战与排错
运维·数据库·redis
小天源4 小时前
智叟云集系统 · 架构与职责分层
服务器·前端·数据库
herinspace4 小时前
管家婆实用贴-SQL 2008如何修改成混合模式
服务器·数据库·sql·管家婆软件·财务软件·合肥管家婆软件
打螺丝的小李4 小时前
制造企业质量管理系统的三类产品形态:分别解决什么问题
数据库·制造
xixingzhe25 小时前
MySQL 锁表故障排查与处理
数据库·mysql
真上帝的左手5 小时前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛5 小时前
MySQL表的连接
数据库·mysql
数字新视界5 小时前
机房动环监控系统在提升数据中心能效与安全中的应用探索
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
bksczm6 小时前
MySQL之存储引擎
数据库·mysql