跳转到正文

Trino 格式化工具

使用 Trino 规则格式化 Trino 和 Presto SQL,支持双引号标识符、不使用反斜杠转义的标准字符串、X'' 和 U&'' 字面量、数组和映射下标以及 lambda 表达式。WITH、GROUP BY、ORDER BY、OFFSET 和 FETCH FIRST 等子句各占一行,列则每行缩进。对于分析师,未闭合的字符串和括号会报告行和列。

重置

常见问题

支持哪些 Trino 语法?

可以识别单引号字符串(其中的引号以成对引号表示)、双引号标识符,以及 X'' varbinary 和 U&'' Unicode 字面量。Array[1] 和 map['key'] 下标以及 x -> x + 1 这样的 lambda 表达式会保持原样。

字符串中的反斜杠会转义字符吗?

不会。在 Trino 中,字符串里的反斜杠是普通字符,格式化工具也遵循这一规则,因此 'C:\' 是一个完整字符串。

我可以格式化 Presto 和 Amazon Athena 查询吗?

可以。Presto 和 Athena 共用 Trino 的引号规则,且大部分语法相同,因此它们的查询格式化方式也相同。

如何处理目录和架构名称?

hive.sales.orders 和 "my-catalog"."schema"."table" 这样的限定名称会保持连在一起。点号两侧不会添加空格。

哪些子句会单独换行?

WITH、SELECT、FROM、WHERE、GROUP BY、HAVING、WINDOW、ORDER BY、OFFSET、LIMIT 和 FETCH 各自从新行开始。UNION、INTERSECT 和 EXCEPT 集合运算符会分隔它们所组合的查询。

支持 MERGE 吗?

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

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

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

会检测哪些错误?

未闭合的字符串、带引号的标识符、下标和块注释,以及不平衡的括号;每项都会标出行和列。查询不会在任何集群上运行。

输入内容可以有多大?

每次请求最多 1 MB,每条语句最多 128 KB。多条语句之间会以空行分隔。

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

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

关于 OneClick Pro

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