跳到正文

SQL 格式化

把一行 SQL 查询整理成整齐缩进的 SQL

正在加载工具…

把写成一长行的 SQL 查询拆成多行,并按子句缩进,使其易于阅读;也可以把格式化后的 SQL 压缩回一行。可以用来查看从日志或代码中拿到的查询,或把查询放进文档。

使用方法

  1. 把查询粘贴到“SQL 输入”中,或点击“打开文件”载入 .sql 文件。一次放多条语句也可以。
  2. 在“SQL 方言”中选择你的数据库。如果不确定,保持“标准 SQL”即可。
  3. 设置“关键字”“缩进”“逗号”和“行宽”,“结果”会立即变化。
  4. 复制结果,或点击“保存为 .sql”。要变成一行,请把“模式”切换为“压缩为一行”。

计算方式与说明

常见问题

格式化 SQL 会改变查询的结果吗?
不会。只有空格、换行和关键字的大小写会改变;引号中的值和注释保持不变。想让关键字保持你写的样子,请把“关键字”设为“保持原样”。
为什么提示“无法格式化”?
在标记的位置附近查找没有闭合的引号或括号。有些语法需要选对方言:方括号名称需要 SQL Server,:: 类型转换需要 PostgreSQL。“压缩为一行”模式对任何文本都有效。
能把逗号放在每行开头吗?
能。把“逗号”设为“放在行首”,SELECT 列等列表中的逗号就会移到每行的开头。
为什么括号里的列表还在同一行?
比“行宽”(默认 50 个字符)短的括号内列表会保持在一行。调低这个值,就会有更多列表被拆开。