以下 Databricks SQL 功能與改進於 2026 年發布。
2026年2月
Databricks SQL 2025.40 版本正在目前推出
2026年2月23日
Databricks SQL 版本 2025.40 正在推送至 Current 頻道。 詳見 2025.40的特色。
Databricks SQL 2025.40 版本現已提供預覽版
2026年2月11日
Databricks SQL 2025.40 版本現已在 預覽 頻道提供。 請檢閱下一節,以瞭解新功能、行為變更和 Bug 修正。
SQL 腳本現已全面提供
SQL 腳本 現在已經普及。 用 SQL 撰寫程序式邏輯,包括條件語句、迴圈、本地變數及例外處理。
參數標記現已在更多 SQL 情境中支援
現在您可以在任何允許使用適當類型常值的地方使用命名(:param)和未命名(?)參數標記。 這包括 DDL 語法如 CREATE VIEW v AS SELECT ? AS c1、欄位類型如 DECIMAL(:p, :s),以及註解如 COMMENT ON t IS :comment。 這讓你能參數化各種 SQL 語句,而不會暴露於 SQL 注入攻擊。 請參見參數標記。
IDENTIFIER 子句擴充至更廣泛的 SQL 上下文
幾乎在所有允許使用識別碼的情境中,現在都支援將字串轉換為 SQL 物件名稱的 IDENTIFIER 子句。 結合擴充參數標記和字串合併支援,你可以參數化從欄位別名(AS IDENTIFIER(:name))到欄位定義(IDENTIFIER(:pk) BIGINT NOT NULL)。 請參閱 IDENTIFIER 條款。
字串合併在各處皆支援
像'Hello' ' World'這樣的序列字串文字現在在任何允許字串文字的情境中,包含COMMENT 'This' ' is a ' 'comment',都會合併成'Hello World'。 請參閱 STRING 類型。
新BITMAP_AND_AGG函數
現在新增了一個 BITMAP_AND_AGG 函式,以補充現有函式庫 BITMAP 。
新的 Theta Sketch 函數,用於近似計算不重複元素的數量
一個新的函式庫,以 Datasketches Theta Sketch 進行近似計算不同項目數量與集合運算:
-
theta_sketch_agg聚合函數 -
theta_union_agg聚合函數 -
theta_intersection_agg聚合函數 -
theta_sketch_estimate函式 -
theta_union函式 -
theta_difference函式 -
theta_intersection函式
KLL 近似分位數新草圖函數
現已推出一個用於構建近似分位數計算 KLL 草圖的新函數庫:
-
kll_sketch_agg_bigint聚合函數 -
kll_sketch_get_quantile_bigint函式 -
kll_sketch_merge_bigint函式 -
kll_sketch_agg_double聚合函數 -
kll_sketch_get_quantile_double函式 -
kll_sketch_merge_double函式 -
kll_sketch_agg_float聚合函數 -
kll_sketch_get_quantile_float函式 -
kll_sketch_merge_float函式 -
kll_sketch_get_n_bigint函式 -
kll_sketch_get_rank_bigint函式 -
kll_sketch_to_string_bigint函式 -
kll_sketch_get_n_double函式 -
kll_sketch_get_rank_double函式 -
kll_sketch_to_string_double函式 -
kll_sketch_get_n_float函式 -
kll_sketch_get_rank_float函式 -
kll_sketch_to_string_float函式
你可以在聚合情境中用 kll_merge_agg_bigint、 kll_merge_agg_double 和 kll_merge_agg_float 合併多個 KLL 草圖。
度量檢視中的 SQL 視窗函式
你現在可以在度量檢視中使用 SQL 視窗函式來計算累計總數、排名及其他基於視窗的計算。
新的地理空間函數
以下新的地理空間函數現已可用:
-
st_azimuth函數:回傳從第一點到第二點的北方位角,以弧度為單位[0, 2π)。 -
st_boundary函數:回傳輸入幾何(圖形)的邊界。 -
st_closestpoint函式:回傳第一個幾何體上最接近第二個幾何體的點的二維投影。 -
st_geogfromewkt函式:解析地理的擴展的知名文本(EWKT)描述。 -
st_geomfromewkt函數:解析擴展知名文本(EWKT)以描述幾何形狀。
EWKT 對現有幾何與地理功能的輸入支援
以下功能現在接受擴展知名文本(EWKT)當作輸入:
在具有列篩選與欄位遮罩的資料表上,重複查詢的效能提升
在具有 列篩選與欄位遮罩 的資料表上重複進行合格查詢,現在可受益於改進的查詢結果快取,從而加快執行時間。
提升地理空間功能效能
空間連接效能因支援重新排序而得以提升。 以下 ST 函數現已具備光子實作:
FSCK REPAIR TABLE 預設包含元資料修復
FSCK REPAIR TABLE 現在在檢查遺失的資料檔案之前包含一個初步的元資料修復步驟,使其能處理損壞的檢查點或無效的分割區值的資料表。 此外, dataFilePath 輸出結構中的 FSCK REPAIR TABLE DRY RUN 欄位現在可為空,以支援資料檔案路徑不適用的新議題類型。
DESCRIBE TABLE 輸出包含元資料欄位
DESCRIBE TABLE [EXTENDED] 的輸出現在包括一個 metadata 欄位,適用於所有資料表類型。 此欄位包含以 JSON 字串定義於表格上的語意元資料(顯示名稱、格式及同義詞)。
在 MERGE、UPDATE 和串流寫入操作中保留 NULL 結構
NULL 結構體現在會在 Delta Lake、MERGE 和 UPDATE 中,以及執行包含結構類型轉換的串流寫入操作時保持為 NULL。 過去,NULL 結構體會擴展為所有欄位都設為 NULL 的結構。
分割欄以 Parquet 檔案形式實現
分區的 Delta Lake 資料表現在會在新寫入的 Parquet 資料檔中具現化分區欄位。 過去,分割區值僅儲存在 Delta Lake 的交易日誌中繼資料中。 直接讀取 Delta Lake 所寫 Parquet 檔案的工作負載,會在新寫入的檔案中看到額外的分割欄。
時間戳記分區值會遵循會話時區設定
現在,時間戳分區值會使用spark.sql.session.timeZone配置正確地進行調整。 之前,它們被錯誤地用 JVM 時區轉換成 UTC。
時間旅行限制已更新
Azure Databricks 現在會阻擋所有資料表超過 deletedFileRetentionDuration 閾值的時間旅行查詢。
VACUUM指令會忽略保留時間參數,除非值為 0 小時。 你不能設定 deletedFileRetentionDuration 大於 logRetentionDuration。
SHOW TABLES DROPPED 尊重 LIMIT 條款
SHOW TABLES DROPPED 現在正確地遵守該 LIMIT 條款。