跳转到正文

Redshift 格式化工具

按照 Redshift 规则格式化 Amazon Redshift SQL,支持带反斜杠转义的字符串、双引号标识符、#temp 表、:: 类型转换和 $$ 函数体。QUALIFY 和 MINUS 会作为子句保留,MERGE 分支会另起一行,较长的列清单则会每行放一项。未闭合的字符串和括号会报告行和列,帮助分析师和数据工程师检查数据仓库代码。

重置

常见问题

支持识别哪些 Redshift 语法?

可识别带反斜杠转义和双引号转义的单引号字符串、双引号标识符、#temp 表名和 :: 类型转换。正则表达式运算符 ~ 和 ~* 及其否定形式,以及 $$ 美元引用函数体都会保持完整。

这与 PostgreSQL 格式化工具有何不同?

Redshift 起源于 PostgreSQL,但两者有所不同:反斜杠可转义字符串中的字符,# 用于临时表名而非运算符,并且支持 QUALIFY 和 MINUS。此格式化工具遵循这些规则。

UDF 函数体会如何处理?

以 $$ 标记括起来的 Python 或 SQL 用户定义函数体会原样保留。只有函数体外围的语句会被格式化。

哪些子句会单独换行?

SELECT、FROM、WHERE、GROUP BY、HAVING、QUALIFY、ORDER BY、LIMIT 和 OFFSET 都会另起一行。MINUS、UNION、INTERSECT 和 EXCEPT 会分隔它们所组合的查询。

支持 MERGE 吗?

会。WHEN MATCHED 和 WHEN NOT MATCHED 分支会另起一行。

注释会保留吗?

会。-- 和 /* */ 注释会保留原位。多行块注释会按照新的布局重新缩进。

它会更改关键字的大小写吗?

不会。关键字和名称会保留你输入时的大小写。只有空白字符和换行会改变。

会检测哪些错误?

未闭合的字符串、带引号的标识符、$$ 函数体和块注释,以及不匹配的括号;每项都会标明行和列。SQL 不会发送到你的集群。

输入内容可以有多大?

每个请求最多 1 MB,每条语句最多 128 KB。较长的 ETL 脚本会逐条格式化。

可以选择缩进方式吗?我的 SQL 会保存吗?

可使用 2 个或 4 个空格,也可使用制表符。SQL 只会在内存中格式化,绝不会保存。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。