SQL:2023標準已經發布,了解一下 

數據庫:2023

SQL:2023 標準實現了各種增強和更改

日前,國際標準化組織 (ISO)批准並發布了國際標準SQL:2023 (ISO/IEC 9075),其中 定義為第九版 用於在關係 DBMS 中操作數據的 SQL 語言的規範。 該規範的最後一次更新發佈於 2016 年 (SQL:2016)。

對於那些不了解 SQL(結構化查詢語言)的人,您應該知道它是一種用於管理關係數據庫並對它們包含的數據執行各種操作的標準化語言。 SQL 創建於 1970 年代,不僅經常被數據庫管理員使用,還被編寫數據集成腳本的開發人員以及希望設置和運行分析查詢的數據分析師經常使用。 該標準會定期更新以添加新功能並對現有語言進行更改。

新的 SQL:2023 規範有哪些新內容?

添加了 SQL/PGQ 擴展 (屬性圖查詢)操作形成圖形的互連數據集。 基本上,這個新功能 可以像在圖形數據庫中一樣輕鬆地查詢表中的數據, 提供一種替代方法,也許更直觀,可以編寫複雜的連接查詢。 此功能在數據科學界可能會非常受歡迎。

另一個引人注目的變化是 定義了自定義 NULL 值處理行為的能力 在存在“UNIQUE”約束的情況下。 如果指定了“UNIQUE NULLS DISTINCT”,添加到數據庫中的NULL值將被視為唯一的。

除此之外,我們還可以發現 擴展了執行“ORDER BY”操作的可能性 在聚簇表中。 現在的規範 允許操作對按列分組的表進行排序 不會出現在聚簇表的 SELECT 輸出列表中。 以前,大多數 DBMS 都允許此類操作,但規範並未定義這種可能性。

我們也可以發現我知道 添加了 TRIM 函數的多字符變體:LTRIM、RTRIM 和 BTRIM, 它允許從字符串的開頭或結尾剪切列表中指定的字符。 與 TRIM 相比,新函數的語法更簡單。

Se 使用表達式“CYCLE”擴展了在遞歸查詢中檢測循環的能力«。 帶有循環標記的字段現在可以是“布爾”類型而不是字符串,並將循環符號作為真值和假值傳遞。

在其他突出的變化中:

  • 添加了新的 LPAD 和 RPAD 函數以將字符串填充到給定大小。 例如:
  • 對於類型“VARCHAR”和“CHARACTER VARYING”,允許不指定最大大小,在這種情況下,最大大小將取決於 DBMS 實現。
  • 添加了一個新的聚合函數 any_value(),它從輸入數據集中返回一個任意的非空值。
  • 添加了指定十六進制、二進制和八進製文字的功能。 例如:
  • 允許在數字中使用下劃線字符以增加數字文字的可見性。
  • 顯著擴展了與處理 JSON 格式數據相關的功能。
  • 增加了單獨的JSON類型(在SQL:2016標準中要求JSON數據存儲在字符串類型的字段中)。
  • 實現了對 JSON_SERIALIZE、JSON_SCALAR 和 IS JSON 操作的支持。
  • 添加了 14 個新方法以應用於 SQL/JSON 語言內的 SQL/JSON 值。

最後, 如果您有興趣了解更多信息, 您可以查閱詳細信息以及已實施更改的實際示例 在下面的鏈接中。

值得一提的是 在 PostgreSQL 中,SQL:2023 中提出的大部分功能已經可用 o 計劃包含在下一個主要版本中,而對於 ANY_VALUE 支持部分,數字下劃線、十六進制/二進制/八進製文字和 SQL/JSON 中的十六進製文字將出現在 PostgreSQL 秋季版本中。

預計對 JSON 類型、SQL/JSON 語法的增強功能支持 PostreSQL 16 之後版本中的簡化、新 JSON 方法和 PGQ 擴展,但這些領域的工作尚未開始。 其餘的 SQL:2023 函數在現有版本的 PostreSQL 中已經可用。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。