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,同时自动格式化换行缩进。

相关推荐
染指11101 小时前
145.Agent-LangGraph基础概念和安装和简单代码示例
java·服务器·数据库·langchain·agents
太理摆烂哥1 小时前
MySQL表的操作
数据库
lbb 小魔仙1 小时前
时序数据库是什么?2026 年五款工业时序数据库横评与场景解析
数据库·时序数据库
零基础1231 小时前
权限管理怎么做?从“资格”与“空间”双维度设计一套可落地的权限体系
java·服务器·数据库
其实防守也摸鱼1 小时前
CTF Web 6 题全解 Writeup
linux·sql·学习·算法·安全·ctf·xss
小小龙学IT2 小时前
PostgreSQL 服务端机制与 SQL 实战深度解析:从 MVCC 到查询优化器
数据库·sql·postgresql
l1t2 小时前
DeepSeek总结的DuckDB 从 JSON 字符串到类型化列
数据库·sql·json
Raas1002 小时前
AI网关能做调用审计吗?MAI Gateway(魔芋企业级AI网关)实战能力深度解读
java·服务器·网络·数据库·gateway·prompt·企业级产品
foolishlee2 小时前
openGauss同步提交
数据库