共用方式為


保留字和架構

適用於: 核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

保留字是 SQL 語言用來做為關鍵詞的常值,不應做為標識符,以避免非預期的行為。

保留的架構名稱對 Azure Databricks 具有特殊意義。

保留字

Azure Databricks 不會正式禁止任何特定常值作為 標識碼使用。

不過,若要使用下列任何標識符清單做為數據表別名,您必須將名稱括在後面刻度 (')。

  • CROSS
  • EXCEPT
  • FULL
  • INNER
  • INTERSECT
  • JOIN
  • LATERAL
  • LEFT
  • 減去
  • NATURAL
  • ON
  • RIGHT
  • UNION
  • USING

表達式中的特殊字組

您可以在任何地方使用下列識別符清單,但 Azure Databricks 會優先將其視為特定內容中表達式內的關鍵字:

  • NULL

    SQL NULL 值。

  • DEFAULT

    表示數據行預設值。

  • TRUE

    SQL 布爾 true 值。

  • FALSE

    SQL 布爾 false 值。

  • LATERAL

    做為數據行限定符,用來指出明確的橫向相互關聯。

使用反向刻度 (NULLDEFAULT) 或以數據表名稱或別名限定數據行名稱。

Azure Databricks 會使用 CURRENT_ 前置詞來參考某些 組態設定 或其他內容變數。 底線 (_) 前置詞適用於 Azure Databricks 虛擬數據行。 在 Databricks Runtime 中,現有的虛擬數據行是 _metadata數據行

不優先處理具有這些前置詞的標識碼。 不過,請避免使用這些前置詞的數據行或 數據行別名 ,以避免發生非預期的行為。

保留的目錄名稱

Azure Databricks 會保留下列目錄名稱列表,以供目前或未來使用:

  • 以 開頭的目錄名稱 SYS
  • 以 開頭的目錄名稱 DATABRICKS

請避免使用這些名稱。

保留的架構名稱

Azure Databricks 會保留下列架構名稱清單,以供目前或未來使用:

  • BUILTIN

    未來使用 來限定內建函式。

  • SESSION

    未來使用 來限定暫存檢視和函式。

  • INFORMATION_SCHEMA

    保留 SQL Standard 信息架構

  • 開頭為 或的 SYS 架構名稱 DATABRICKS

請避免使用這些名稱。

ANSI 保留字

Azure Databricks 不會強制執行 ANSI 保留字。 下列SQL2016關鍵詞清單僅供參考之用。

  • A

    ALL、ALTER、AND、ANY、ARRAY、AS、AT、AUTHORIZATION

  • B

    BETWEEN、BOTH、BY

  • C

    CASE、CAST、CHECK、COLLATE、COLUMN、COMMIT、CONSTRAINT、CREATE、CROSS、CUBE、CURRENT、CURRENT_DATE、CURRENT_TIME、CURRENT_TIMESTAMP、CURRENT_USER

  • D

    DELETE、DESCRIBE、DISTINCT、DROP

  • E

    ELSE、END、ESCAPE、EXCEPT、EXISTS、EXTERNAL、EXTRACT

  • F

    FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION

  • G

    GLOBAL、GRANT、GROUP、GROUPING

  • H

    HAVING

  • I

    IN、INNER、INSERT、INTERSECT、INTERVAL、INTO、IS

  • J

    JOIN

  • L

    LEADING、LEFT、LIKE、LOCAL

  • NATURAL、NO、NOT、NULL

  • O

    OF、ON、ONLY、OR、ORDER、OUT、OUTER、OVERLAPS

  • P

    PARTITION、POSITION、PRIMARY

  • R

    RANGE、REFERENCES、REVOKE、RIGHT、ROLLBACK、ROLLUP、ROW、ROWS

  • S

    SELECT, SESSION_USER, SET, SOME, START

  • T

    TABLE、TABLESAMPLE、THEN、TIME、TO、TRAILING、TRUE、TRUNCATE

  • U

    UNION、UNIQUE、UNKNOWN、UPDATE、USER、USING

  • V

    VALUES

  • W

    WHEN、WHERE、WINDOW、WITH

範例

-- Using SQL keywords
> CREATE TEMPORARY VIEW where(where) AS (VALUES (1));

> SELECT where from FROM where select;
  1

-- Usage of NULL
> SELECT NULL, `null`, T.null FROM VALUES(1) AS T(null);
 NULL   1       1

-- current_date is eclipsed by the column alias T.current_date
> SELECT (SELECT current_date), current_date, current_date()
    FROM VALUES(1) AS T(current_date);
 2021-10-23     1       2021-10-23

-- Reserved keyword ANTI cannot be used as table alias
> SELECT * FROM VALUES(1) AS ANTI;
Error in query: no viable alternative at input 'ANTI'

> SELECT * FROM VALUES(1) AS `ANTI`;
  1