这个SQL格式化器的功能
这个工具有两种功能。首先,它格式化SQL:每行一个句子,一致的插入,大小字母的关键字和可读的JOIN和CASE块,使用经过测试的sql-formatter引擎,具有方言感知解析。其次,它在 MySQL,PostgreSQL,SQLite 和 SQL Server 之间执行 基本方言转换,在数据库之间移动查询或模式时处理最常见的差异。它们都在本地运行,因此包含真正表名的生产查询永远不会离开浏览器。
使用方法
- 在输入中粘贴SQL。
- 选择源方言,如果要转换,选择目标方言。让目标是"保持"只格式化。
- 选择关键字案例和插槽宽度。
- 查看笔记板:任何转换器无法安全地翻译的东西都列出在那里。
- 复制结果。
转换器处理的内容
- 标识符引用:
`name`(MySQL) ↔"name"(PostgreSQL/SQLite) ↔[name](SQL服务器) - 行限制:
LIMIT n OFFSET mTOP nOFFSET m ROWS FETCH NEXT n ROWS ONLY。 - 自动增加:
AUTO_INCREMENTSERIAL/GENERATED ... AS IDENTITYAUTOINCREMENTIDENTITY(1,1)。 - 常见类型:
DATETIME/TIMESTAMP,TINYINT(1)/BOOLEAN/BIT,NVARCHAR,TEXT,BLOB/BYTEA/VARBINARY(MAX)。 - 功能:
NOW()/GETDATE()/CURRENT_TIMESTAMP,IFNULL/ISNULL/COALESCE,RAND()/RANDOM(),CONCAT||。 - 字符串字母和评论是受保护的,因此
'quotes'中的关键字永远不会被重写。
限制
方言转换是基于模式的,不是一个完整的编译器。存储的程序,触发器,供应商特定的功能 (窗口框架奇怪,JSON操作符,MERGE,ON DUPLICATE KEY和ON CONFLICT) 和排序细节需要手动审查。将输出视为一个强大的初稿,并对目标数据库进行测试。