This is an automated email from the ASF dual-hosted git repository.

HappenLee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new dfc5321c2b9 [doc](function) Add array_except_all documentation (#4089)
dfc5321c2b9 is described below

commit dfc5321c2b9322370cd8c588d124400bad413dcf
Author: Mryange <[email protected]>
AuthorDate: Wed Aug 26 15:39:03 2026 +0800

    [doc](function) Add array_except_all documentation (#4089)
    
    ## Versions
    
    - [x] dev
    - [x] 4.x
    - [ ] 3.x
    - [ ] 2.1 or older (not covered by version/language sync gate)
    
    ## Languages
    
    - [ ] Chinese
    - [ ] English
    
    ## Docs Checklist
    
    - [ ] Checked by AI
    - [ ] Test Cases Built
    - [ ] Updated required version and language counterparts, or explained
    why not
    - [ ] If only one language changed, confirmed whether source/translation
    counterparts need sync
---
 .../array-functions/array-except-all.md            | 122 +++++++++++++++++++++
 .../array-functions/array-except-all.md            | 122 +++++++++++++++++++++
 .../array-functions/array-except-all.md            | 122 +++++++++++++++++++++
 sidebars.ts                                        |   1 +
 .../array-functions/array-except-all.md            | 122 +++++++++++++++++++++
 versioned_sidebars/version-4.x-sidebars.json       |   1 +
 6 files changed, 490 insertions(+)

diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
 
b/docs/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
new file mode 100644
index 00000000000..d4158c8cb5d
--- /dev/null
+++ 
b/docs/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
@@ -0,0 +1,122 @@
+---
+{
+    "title": "ARRAY_EXCEPT_ALL",
+    "language": "en",
+    "description": "Returns the multiset difference of two arrays, preserving 
unmatched duplicates and the order of the first array."
+}
+---
+
+## array_except_all
+
+<version since="dev">
+
+</version>
+
+## Description
+
+Returns the multiset difference of `arr1` and `arr2`. Each occurrence in 
`arr2` removes at most one equal occurrence from `arr1`; remaining elements, 
including duplicates, keep their original order. `NULL` elements are compared 
and removed by occurrence, while a `NULL` input array produces a `NULL` result.
+
+## Syntax
+
+```sql
+ARRAY_EXCEPT_ALL(<arr1>, <arr2>)
+```
+
+## Parameters
+
+| Parameter | Description |
+| -- | -- |
+| `<arr1>` | The first array. Its element type must be a supported scalar type 
and must be compatible with the element type of `<arr2>`. |
+| `<arr2>` | The second array. Each occurrence removes one matching occurrence 
from `<arr1>`. Its element type must be a supported scalar type and must be 
compatible with `<arr1>`. |
+
+Supported scalar element types include numeric, boolean, string, date/time, 
and IPv4/IPv6 types. Complex element types such as `ARRAY`, `MAP`, `STRUCT`, 
`JSON`, and `VARIANT` are not supported.
+
+## Return Value
+
+Returns an `ARRAY<T>` containing the remaining elements from `<arr1>` in their 
original order. If either input array is `NULL`, returns `NULL`. If no elements 
remain, returns an empty array.
+
+## Example
+
+Basic multiset difference:
+
+```sql
+SELECT array_except_all([1, 1, 2, 3], [1, 3]);
+```
+
+```text
+[1, 2]
+```
+
+Occurrences are removed one at a time, so unmatched duplicates are preserved:
+
+```sql
+SELECT array_except_all(['a', 'a', 'b'], ['a']);
+```
+
+```text
+["a", "b"]
+```
+
+The result keeps the order of the first array:
+
+```sql
+SELECT array_except_all([3, 1, 3, 2], [3]);
+```
+
+```text
+[1, 3, 2]
+```
+
+`NULL` elements participate in multiset subtraction:
+
+```sql
+SELECT array_except_all(['a', NULL, 'a', NULL], [NULL]);
+```
+
+```text
+["a", "a", null]
+```
+
+If either input array is `NULL`, the result is `NULL`:
+
+```sql
+SELECT array_except_all(CAST(NULL AS ARRAY<INT>), [1]);
+```
+
+```text
+NULL
+```
+
+An empty second array leaves the first array unchanged:
+
+```sql
+SELECT array_except_all([1, 1, 2], CAST([] AS ARRAY<INT>));
+```
+
+```text
+[1, 1, 2]
+```
+
+Unlike `array_except`, this function preserves remaining duplicates:
+
+```sql
+SELECT array_except([1, 1, 2], [1]), array_except_all([1, 1, 2], [1]);
+```
+
+```text
+[2]    [1, 2]
+```
+
+Complex element types are not supported:
+
+```sql
+SELECT array_except_all([[1], [2]], [[1]]);
+```
+
+```text
+ERROR 1105 (HY000): array_except_all does not support types
+```
+
+### Keywords
+
+ARRAY, EXCEPT, MULTISET, ARRAY_EXCEPT_ALL
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
new file mode 100644
index 00000000000..b8bb61f7317
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
@@ -0,0 +1,122 @@
+---
+{
+    "title": "ARRAY_EXCEPT_ALL",
+    "language": "zh-CN",
+    "description": "返回两个数组的多重集差集,保留未匹配的重复元素及第一个数组的原始顺序。"
+}
+---
+
+## array_except_all
+
+<version since="dev">
+
+</version>
+
+## 描述
+
+返回 `arr1` 和 `arr2` 的多重集差集。`arr2` 中的每个元素最多抵消 `arr1` 中一个相同的元素;未被抵消的元素(包括重复元素)按照 
`arr1` 的原始顺序保留。数组元素中的 `NULL` 也按出现次数进行比较和抵消;如果任一输入数组为 `NULL`,则返回 `NULL`。
+
+## 语法
+
+```sql
+ARRAY_EXCEPT_ALL(<arr1>, <arr2>)
+```
+
+## 参数
+
+| 参数 | 说明 |
+| -- | -- |
+| `<arr1>` | 第一个数组。元素必须为支持的标量类型,且必须与 `<arr2>` 的元素类型兼容。 |
+| `<arr2>` | 第二个数组。其中每次出现的元素会抵消 `<arr1>` 中一个相同的元素;元素必须为支持的标量类型,且必须与 `<arr1>` 
兼容。 |
+
+支持的标量元素类型包括数值、布尔、字符串、日期时间以及 IPv4/IPv6 类型。不支持 `ARRAY`、`MAP`、`STRUCT`、`JSON` 和 
`VARIANT` 等复杂元素类型。
+
+## 返回值
+
+返回 `ARRAY<T>`,包含 `<arr1>` 中剩余的元素,并保持其原始顺序。如果任一输入数组为 `NULL`,返回 
`NULL`;如果没有剩余元素,返回空数组。
+
+## 示例
+
+基本多重集差集:
+
+```sql
+SELECT array_except_all([1, 1, 2, 3], [1, 3]);
+```
+
+```text
+[1, 2]
+```
+
+元素按出现次数逐个抵消,未匹配的重复元素会保留:
+
+```sql
+SELECT array_except_all(['a', 'a', 'b'], ['a']);
+```
+
+```text
+["a", "b"]
+```
+
+结果保持第一个数组的顺序:
+
+```sql
+SELECT array_except_all([3, 1, 3, 2], [3]);
+```
+
+```text
+[1, 3, 2]
+```
+
+数组中的 `NULL` 参与多重集差集运算:
+
+```sql
+SELECT array_except_all(['a', NULL, 'a', NULL], [NULL]);
+```
+
+```text
+["a", "a", null]
+```
+
+任一输入数组为 `NULL` 时返回 `NULL`:
+
+```sql
+SELECT array_except_all(CAST(NULL AS ARRAY<INT>), [1]);
+```
+
+```text
+NULL
+```
+
+第二个数组为空时,第一个数组保持不变:
+
+```sql
+SELECT array_except_all([1, 1, 2], CAST([] AS ARRAY<INT>));
+```
+
+```text
+[1, 1, 2]
+```
+
+与 `array_except` 不同,本函数会保留剩余的重复元素:
+
+```sql
+SELECT array_except([1, 1, 2], [1]), array_except_all([1, 1, 2], [1]);
+```
+
+```text
+[2]    [1, 2]
+```
+
+不支持复杂元素类型:
+
+```sql
+SELECT array_except_all([[1], [2]], [[1]]);
+```
+
+```text
+ERROR 1105 (HY000): array_except_all does not support types
+```
+
+### 关键词
+
+ARRAY、EXCEPT、MULTISET、ARRAY_EXCEPT_ALL
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
new file mode 100644
index 00000000000..0d2ec391dc3
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
@@ -0,0 +1,122 @@
+---
+{
+    "title": "ARRAY_EXCEPT_ALL",
+    "language": "zh-CN",
+    "description": "返回两个数组的多重集差集,保留未匹配的重复元素及第一个数组的原始顺序。"
+}
+---
+
+## array_except_all
+
+<version since="4.1.0">
+
+</version>
+
+## 描述
+
+返回 `arr1` 和 `arr2` 的多重集差集。`arr2` 中的每个元素最多抵消 `arr1` 中一个相同的元素;未被抵消的元素(包括重复元素)按照 
`arr1` 的原始顺序保留。数组元素中的 `NULL` 也按出现次数进行比较和抵消;如果任一输入数组为 `NULL`,则返回 `NULL`。
+
+## 语法
+
+```sql
+ARRAY_EXCEPT_ALL(<arr1>, <arr2>)
+```
+
+## 参数
+
+| 参数 | 说明 |
+| -- | -- |
+| `<arr1>` | 第一个数组。元素必须为支持的标量类型,且必须与 `<arr2>` 的元素类型兼容。 |
+| `<arr2>` | 第二个数组。其中每次出现的元素会抵消 `<arr1>` 中一个相同的元素;元素必须为支持的标量类型,且必须与 `<arr1>` 
兼容。 |
+
+支持的标量元素类型包括数值、布尔、字符串、日期时间以及 IPv4/IPv6 类型。不支持 `ARRAY`、`MAP`、`STRUCT`、`JSON` 和 
`VARIANT` 等复杂元素类型。
+
+## 返回值
+
+返回 `ARRAY<T>`,包含 `<arr1>` 中剩余的元素,并保持其原始顺序。如果任一输入数组为 `NULL`,返回 
`NULL`;如果没有剩余元素,返回空数组。
+
+## 示例
+
+基本多重集差集:
+
+```sql
+SELECT array_except_all([1, 1, 2, 3], [1, 3]);
+```
+
+```text
+[1, 2]
+```
+
+元素按出现次数逐个抵消,未匹配的重复元素会保留:
+
+```sql
+SELECT array_except_all(['a', 'a', 'b'], ['a']);
+```
+
+```text
+["a", "b"]
+```
+
+结果保持第一个数组的顺序:
+
+```sql
+SELECT array_except_all([3, 1, 3, 2], [3]);
+```
+
+```text
+[1, 3, 2]
+```
+
+数组中的 `NULL` 参与多重集差集运算:
+
+```sql
+SELECT array_except_all(['a', NULL, 'a', NULL], [NULL]);
+```
+
+```text
+["a", "a", null]
+```
+
+任一输入数组为 `NULL` 时返回 `NULL`:
+
+```sql
+SELECT array_except_all(CAST(NULL AS ARRAY<INT>), [1]);
+```
+
+```text
+NULL
+```
+
+第二个数组为空时,第一个数组保持不变:
+
+```sql
+SELECT array_except_all([1, 1, 2], CAST([] AS ARRAY<INT>));
+```
+
+```text
+[1, 1, 2]
+```
+
+与 `array_except` 不同,本函数会保留剩余的重复元素:
+
+```sql
+SELECT array_except([1, 1, 2], [1]), array_except_all([1, 1, 2], [1]);
+```
+
+```text
+[2]    [1, 2]
+```
+
+不支持复杂元素类型:
+
+```sql
+SELECT array_except_all([[1], [2]], [[1]]);
+```
+
+```text
+ERROR 1105 (HY000): array_except_all does not support types
+```
+
+### 关键词
+
+ARRAY、EXCEPT、MULTISET、ARRAY_EXCEPT_ALL
diff --git a/sidebars.ts b/sidebars.ts
index 6f3361440dd..437392d815f 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -1755,6 +1755,7 @@ const sidebars: SidebarsConfig = {
                                         
'sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate',
                                         
'sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate-uniq',
                                         
'sql-manual/sql-functions/scalar-functions/array-functions/array-except',
+                                        
'sql-manual/sql-functions/scalar-functions/array-functions/array-except-all',
                                         
'sql-manual/sql-functions/scalar-functions/array-functions/array-exists',
                                         
'sql-manual/sql-functions/scalar-functions/array-functions/array-filter',
                                         
'sql-manual/sql-functions/scalar-functions/array-functions/array-first',
diff --git 
a/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
 
b/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
new file mode 100644
index 00000000000..4f6fa43438f
--- /dev/null
+++ 
b/versioned_docs/version-4.x/sql-manual/sql-functions/scalar-functions/array-functions/array-except-all.md
@@ -0,0 +1,122 @@
+---
+{
+    "title": "ARRAY_EXCEPT_ALL",
+    "language": "en",
+    "description": "Returns the multiset difference of two arrays, preserving 
unmatched duplicates and the order of the first array."
+}
+---
+
+## array_except_all
+
+<version since="4.1.0">
+
+</version>
+
+## Description
+
+Returns the multiset difference of `arr1` and `arr2`. Each occurrence in 
`arr2` removes at most one equal occurrence from `arr1`; remaining elements, 
including duplicates, keep their original order. `NULL` elements are compared 
and removed by occurrence, while a `NULL` input array produces a `NULL` result.
+
+## Syntax
+
+```sql
+ARRAY_EXCEPT_ALL(<arr1>, <arr2>)
+```
+
+## Parameters
+
+| Parameter | Description |
+| -- | -- |
+| `<arr1>` | The first array. Its element type must be a supported scalar type 
and must be compatible with the element type of `<arr2>`. |
+| `<arr2>` | The second array. Each occurrence removes one matching occurrence 
from `<arr1>`. Its element type must be a supported scalar type and must be 
compatible with `<arr1>`. |
+
+Supported scalar element types include numeric, boolean, string, date/time, 
and IPv4/IPv6 types. Complex element types such as `ARRAY`, `MAP`, `STRUCT`, 
`JSON`, and `VARIANT` are not supported.
+
+## Return Value
+
+Returns an `ARRAY<T>` containing the remaining elements from `<arr1>` in their 
original order. If either input array is `NULL`, returns `NULL`. If no elements 
remain, returns an empty array.
+
+## Example
+
+Basic multiset difference:
+
+```sql
+SELECT array_except_all([1, 1, 2, 3], [1, 3]);
+```
+
+```text
+[1, 2]
+```
+
+Occurrences are removed one at a time, so unmatched duplicates are preserved:
+
+```sql
+SELECT array_except_all(['a', 'a', 'b'], ['a']);
+```
+
+```text
+["a", "b"]
+```
+
+The result keeps the order of the first array:
+
+```sql
+SELECT array_except_all([3, 1, 3, 2], [3]);
+```
+
+```text
+[1, 3, 2]
+```
+
+`NULL` elements participate in multiset subtraction:
+
+```sql
+SELECT array_except_all(['a', NULL, 'a', NULL], [NULL]);
+```
+
+```text
+["a", "a", null]
+```
+
+If either input array is `NULL`, the result is `NULL`:
+
+```sql
+SELECT array_except_all(CAST(NULL AS ARRAY<INT>), [1]);
+```
+
+```text
+NULL
+```
+
+An empty second array leaves the first array unchanged:
+
+```sql
+SELECT array_except_all([1, 1, 2], CAST([] AS ARRAY<INT>));
+```
+
+```text
+[1, 1, 2]
+```
+
+Unlike `array_except`, this function preserves remaining duplicates:
+
+```sql
+SELECT array_except([1, 1, 2], [1]), array_except_all([1, 1, 2], [1]);
+```
+
+```text
+[2]    [1, 2]
+```
+
+Complex element types are not supported:
+
+```sql
+SELECT array_except_all([[1], [2]], [[1]]);
+```
+
+```text
+ERROR 1105 (HY000): array_except_all does not support types
+```
+
+### Keywords
+
+ARRAY, EXCEPT, MULTISET, ARRAY_EXCEPT_ALL
diff --git a/versioned_sidebars/version-4.x-sidebars.json 
b/versioned_sidebars/version-4.x-sidebars.json
index b7cdb92dbae..f4306a6a91d 100644
--- a/versioned_sidebars/version-4.x-sidebars.json
+++ b/versioned_sidebars/version-4.x-sidebars.json
@@ -1930,6 +1930,7 @@
                         
"sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate",
                         
"sql-manual/sql-functions/scalar-functions/array-functions/array-enumerate-uniq",
                         
"sql-manual/sql-functions/scalar-functions/array-functions/array-except",
+                        
"sql-manual/sql-functions/scalar-functions/array-functions/array-except-all",
                         
"sql-manual/sql-functions/scalar-functions/array-functions/array-exists",
                         
"sql-manual/sql-functions/scalar-functions/array-functions/array-filter",
                         
"sql-manual/sql-functions/scalar-functions/array-functions/array-first",


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to