自定义格式 SQL 语句

重要

此功能目前以公共预览版提供。

本文介绍如何在 Azure Databricks UI 中自定义 SQL 自动格式设置选项。

概述

SQL 格式提高了查询的可读性和可维护性。 通过标准化缩进、关键字大小写和其他风格首选项,格式良好的查询更易于理解、调试和与团队共享。

在 Azure Databricks 中,你可以使用工作区主目录中保存的 .dbsql-formatter-config.json 文件配置格式选项。 保存文件后,在编辑器或 SQL 笔记本中运行或格式化代码时,SQL 代码会根据首选项自动设置格式。

如何配置 SQL 格式设置

若要配置个人 SQL 格式设置选项,请执行以下作:

  1. 在边栏中单击 工作区图标“工作区”。
  2. 单击“ 创建 > 文件”。
  3. 将文件命名为 .dbsql-formatter-config.json
  4. 以 JSON 格式的键值对形式添加所需的设置。 请参阅 格式化程序选项
  5. 若要应用最新的格式设置,请刷新页面。

示例配置文件

以下示例演示了有效的 .dbsql-formatter-config.json 配置。

{
  "printWidth": 80,
  "indentationStyle": "spaces",
  "indentationWidth": 4,
  "keywordCasing": "uppercase",
  "shouldExpandExpressions": true
}

格式化程序选项

下表列出了受支持的配置选项。

选项 配置文件名称 允许的值 违约 DESCRIPTION
打印宽度 printWidth 任何整数 >= 0 100 设置格式化代码的目标行宽。
缩进样式 indentationStyle 'spaces''tabs' 'spaces' 指定是否使用空格或制表符进行缩进。 如果设置,则会忽略 indentationWidth
缩进宽度 indentationWidth 从 0 到 99 的整数 2 indentationStyle设置为'spaces'时使用的空格数。
关键字大小写 keywordCasing 'uppercase''lowercase''none' 'none' 控制 SQL 关键字的格式设置。 'none' 保持大小写不变。
函数名称大小写 functionNameCasing 'uppercase''lowercase''none' 'none' 控制 SQL 函数名称的格式设置。 'none' 保持大小写不变。
逗号的放置 commaPosition 'beginning''end' 'end' 控制在列表中放置逗号的位置。
语句之间的换行符 numNewLinesBetweenStatements 从 0 到 99 的整数 1 在语句之间插入的新行数。
子句之间的换行符 numNewLinesBetweenClauses 从 0 到 99 的整数 0 在语句中的子句之间插入的新行数。
展开布尔表达式 shouldExpandExpressions truefalse true 将布尔表达式扩展到单独的行。
扩展 CASE 语句 shouldExpandCaseStatements truefalse true 将 CASE 语句中的每个子句扩展到其所在的行。
扩展 IN 列表 shouldExpandInStatements truefalse false 将 IN 列表中的项扩展到单独的行。
扩展 BETWEEN 条件 shouldExpandBetweenConditions truefalse false 将 BETWEEN 条件扩展到单独的行。
中断 JOIN 条件 shouldBreakOnJoinSections truefalse true 将条件分解 JOIN 为单独的行。