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

morningman 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 8d81efec618 [doc](functions) Add docs for some functions (#2251)
8d81efec618 is described below

commit 8d81efec6187b94b244926a5efe70bc4965ba865
Author: Socrates <suxiaogang...@icloud.com>
AuthorDate: Wed Apr 9 02:07:26 2025 +0800

    [doc](functions) Add docs for some functions (#2251)
    
    ## Impl Functions:
    next_day: https://github.com/apache/doris/pull/49119
    months_between: https://github.com/apache/doris/pull/49122
    printf: https://github.com/apache/doris/pull/49048
    str_to_map: https://github.com/apache/doris/pull/49142
    xpath_string: https://github.com/apache/doris/pull/49262
    
    ## Versions
    
    - [x] dev
    - [x] 3.0
    - [x] 2.1
    - [ ] 2.0
    
    ## Languages
    
    - [x] Chinese
    - [x] English
    
    ## Docs Checklist
    
    - [ ] Checked by AI
    - [ ] Test Cases Built
---
 .../date-time-functions/months-between.md          |  73 ++++++++++++++
 .../date-time-functions/next-day.md                |  70 +++++++++++++
 .../scalar-functions/map-functions/str-to-map.md   |  61 +++++++++++
 .../scalar-functions/string-functions/printf.md    |  84 ++++++++++++++++
 .../string-functions/xpath-string.md               | 110 ++++++++++++++++++++
 .../date-time-functions/months-between.md          |  73 ++++++++++++++
 .../date-time-functions/next-day.md                |  70 +++++++++++++
 .../scalar-functions/map-functions/str-to-map.md   |  61 +++++++++++
 .../scalar-functions/string-functions/printf.md    |  84 ++++++++++++++++
 .../string-functions/xpath-string.md               | 110 ++++++++++++++++++++
 .../date-time-functions/months-between.md          |  75 ++++++++++++++
 .../date-time-functions/next-day.md                |  72 +++++++++++++
 .../scalar-functions/map-functions/str-to-map.md   |  62 ++++++++++++
 .../scalar-functions/string-functions/printf.md    |  85 ++++++++++++++++
 .../string-functions/xpath-string.md               | 111 +++++++++++++++++++++
 .../date-time-functions/months-between.md          |  75 ++++++++++++++
 .../date-time-functions/next-day.md                |  72 +++++++++++++
 .../scalar-functions/map-functions/str-to-map.md   |  62 ++++++++++++
 .../scalar-functions/string-functions/printf.md    |  85 ++++++++++++++++
 .../string-functions/xpath-string.md               | 111 +++++++++++++++++++++
 sidebars.json                                      |  11 +-
 .../date-time-functions/months-between.md          |  75 ++++++++++++++
 .../date-time-functions/next-day.md                |  72 +++++++++++++
 .../scalar-functions/map-functions/str-to-map.md   |  62 ++++++++++++
 .../scalar-functions/string-functions/printf.md    |  85 ++++++++++++++++
 .../string-functions/xpath-string.md               | 111 +++++++++++++++++++++
 .../date-time-functions/months-between.md          |  75 ++++++++++++++
 .../date-time-functions/next-day.md                |  72 +++++++++++++
 .../scalar-functions/map-functions/str-to-map.md   |  62 ++++++++++++
 .../scalar-functions/string-functions/printf.md    |  85 ++++++++++++++++
 .../string-functions/xpath-string.md               | 111 +++++++++++++++++++++
 versioned_sidebars/version-2.1-sidebars.json       |  11 +-
 versioned_sidebars/version-3.0-sidebars.json       |  11 +-
 33 files changed, 2440 insertions(+), 9 deletions(-)

diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
 
b/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
new file mode 100644
index 00000000000..b76b455c2a6
--- /dev/null
+++ 
b/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
@@ -0,0 +1,73 @@
+---
+{
+    "title": "MONTHS_BETWEEN",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+The `MONTHS_BETWEEN` function calculates the floating-point number of months 
between two dates. It receives two date arguments and a optional boolean 
argument.
+
+**Note:**
+When both `<enddate>` and `<startdate>` are the last day of their respective 
months, the function applies special handling.It returns the full month 
difference without considering the fractional part based on days. This ensures 
consistency when comparing the end of one month to the end of another.
+
+For example:
+- `months_between('2024-01-31', '2024-02-29')` will return `-1.0`, because 
both dates are the last day of their respective months (January 31st and 
February 29th), so the result is treated as a full month difference without 
fractional adjustments.
+- `months_between('2024-01-29', '2024-02-29')` will also return `-1.0`, 
because the day of the month is the same.
+- `months_between('2024-01-30', '2024-02-29')` will return `-0.96774194`, 
because the day of the month is not the same and not the last day of the month.
+
+## Syntax
+
+```sql
+MONTHS_BETWEEN(<enddate>, <startdate> [, <round_type>])
+```
+
+## Parameters
+
+| Parameter         | Description                                              
  |
+|-------------------|------------------------------------------------------------|
+| `<enddate>`   | The ending date, representing the later date in the 
difference calculation. Supports `DATE` (e.g., `YYYY-MM-DD`) or `DATETIME` 
(e.g., `YYYY-MM-DD HH:MM:SS`) types.     |
+| `<startdate>` | The starting date, representing the earlier date in the 
difference calculation. Supports `DATE` (e.g., `YYYY-MM-DD`) or `DATETIME` 
(e.g., `YYYY-MM-DD HH:MM:SS`) types. |
+| `<round_type>` | Whether to round the result to the eighth decimal place. 
Supports `true` or `false`. Default is `true`. |
+
+## Return Value
+
+returns the floating-point number of months resulting from `<enddate>` minus 
`<startdate>`
+
+result = (`<enddate>.year` - `<startdate>.year`) * 12 + `<enddate>.month` - 
`<startdate>.month` + (`<enddate>.day` - `<startdate>.day`) / 31.0
+
+- When either `<enddate>` or `<startdate>` is NULL, or both are NULL, it 
returns NULL
+- When `<round_type>` is `true`, the result is rounded to the eighth decimal 
place.
+
+## Example
+
+```sql
+select months_between('2020-12-26','2020-10-25'),months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false);
+```
+
+```text
++-------------------------------------------+-------------------------------------------------------------------+
+| months_between('2020-12-26','2020-10-25') | months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false) |
++-------------------------------------------+-------------------------------------------------------------------+
+|                                2.03225806 |                                  
              -2.032258064516129 |
++-------------------------------------------+-------------------------------------------------------------------+
+```
diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
 
b/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
new file mode 100644
index 00000000000..c88f7787a76
--- /dev/null
+++ 
b/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
@@ -0,0 +1,70 @@
+---
+{
+    "title": "NEXT_DAY",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+The NEXT_DAY function is used to return the first date that is later than the 
given date and matches the specified day of the week.
+
+## Syntax
+
+```sql
+NEXT_DAY(<datetime/date>, <day_of_week>)
+```
+
+## Parameters
+
+| Parameter         | Description                                              
     |
+|-------------------|---------------------------------------------------------------|
+| `<datetime/date>` | The date which will be used to find the next day of the 
week. |
+| `<day_of_week>`   | A STRING expression identifying a day of the week.       
     |
+
+`<day_of_week>` must be one of the following (case insensitive):
+- 'SU', 'SUN', 'SUNDAY'
+- 'MO', 'MON', 'MONDAY'
+- 'TU', 'TUE', 'TUESDAY'
+- 'WE', 'WED', 'WEDNESDAY'
+- 'TH', 'THU', 'THURSDAY'
+- 'FR', 'FRI', 'FRIDAY'
+- 'SA', 'SAT', 'SATURDAY'
+
+## Return Value
+A DATE value whatever the input is DATETIME or DATE.
+
+Special cases:
+- If the `<datetime/date>` input is NULL, the function returns NULL.
+- If the input is NEXT_DAY("9999-12-31 12:00:00", `<day_of_week>`), the 
function will return same value as the input.
+
+## Example
+
+``` sql
+select next_day("2020-01-31 02:02:02", "MONDAY"),next_day("2020-01-31", 
"MONDAY");
+```
+```text
++--------------------------------------------+-----------------------------------+
+| next_day("2020-01-31 02:02:02", "MONDAY")  | next_day("2020-01-31", 
"MONDAY")  |
++--------------------------------------------+-----------------------------------+
+| 2020-02-03                                 | 2020-02-03                      
  |
++--------------------------------------------+-----------------------------------+
+```
\ No newline at end of file
diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md 
b/docs/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
new file mode 100644
index 00000000000..ed32d0296a6
--- /dev/null
+++ b/docs/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
@@ -0,0 +1,61 @@
+---
+{
+    "title": "STR_TO_MAP",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+
+Constructs a `Map<String, String>` from a string.
+
+## Syntax
+
+```sql
+STR_TO_MAP(<str> [, <pair_delimiter> [, <key_value_delimiter>]])
+```
+
+## Parameters
+
+| Parameter | Description |
+| -- | -- |
+| `<str>` | The string to be converted to a map |
+| `<pair_delimiter>` | The delimiter for the pairs in the string, default is 
`,` |
+| `<key_value_delimiter>` | The delimiter for the keys and values in the 
string, default is `:` |
+
+## Return Value
+
+Returns a `Map<String, String>` constructed from a string.
+
+## Example
+
+```sql
+select str_to_map('a=1&b=2&c=3', '&', '=') as map1, 
str_to_map('x:10|y:20|z:30', '|', ':') as map2;
+```
+
+```text
++-----------------------------+--------------------------------+
+| map1                        | map2                           |
++-----------------------------+--------------------------------+
+| {"a":"1", "b":"2", "c":"3"} | {"x":"10", "y":"20", "z":"30"} |
++-----------------------------+--------------------------------+
+```
diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/string-functions/printf.md 
b/docs/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
new file mode 100644
index 00000000000..46abe8bd99e
--- /dev/null
+++ b/docs/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
@@ -0,0 +1,84 @@
+---
+{
+    "title": "PRINTF",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+
+Returns a formatted string using the specified 
[printf](https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html)
 string and arguments.
+
+## Syntax
+
+```sql
+PRINTF(<format>, [<args>, ...])
+```
+
+## Parameters  
+
+| Parameter | Description |  
+| -- | -- |  
+| `<format>` | The printf format string. |  
+| `<args>` | The arguments to be formatted. | 
+
+## Return Value  
+
+The formatted string using a printf mode. 
+
+## Example
+
+```sql
+select printf("hello world");
+```
+
+```text
++-----------------------+
+| printf("hello world") |
++-----------------------+
+| hello world           |
++-----------------------+
+```
+
+```sql
+select printf('%d-%s-%.2f', 100, 'test', 3.14);
+```
+
+```text
++-----------------------------------------+
+| printf('%d-%s-%.2f', 100, 'test', 3.14) |
++-----------------------------------------+
+| 100-test-3.14                           |
++-----------------------------------------+
+```
+
+```sql
+select printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 
255);
+```
+
+```text
++-----------------------------------------------------------------------------+
+| printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 255) |
++-----------------------------------------------------------------------------+
+| Int: 255, Str: test, Float: 3.14, Hex: ff                                   |
++-----------------------------------------------------------------------------+
+```
diff --git 
a/docs/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
 
b/docs/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
new file mode 100644
index 00000000000..97808da0b2a
--- /dev/null
+++ 
b/docs/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
@@ -0,0 +1,110 @@
+---
+{
+    "title": "XPATH_STRING",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+
+The XPATH_STRING function is used to parse the XML string and return the first 
XML node that matches the [XPath](https://www.w3.org/TR/xpath-10/) expression.
+
+## Syntax
+
+```sql
+XPATH_STRING(<xml_string>, <xpath_expression>)
+```
+
+## Parameters
+| Parameter | Description                                   |
+| --------- | ----------------------------------------------|
+| `<xml_string>` | Source string. Type: VARCHAR             |
+| `<xpath_expression>` | [XPath](https://www.w3.org/TR/xpath-10/) expression. 
Type: VARCHAR    |
+
+## Return Value
+
+Returns VARCHAR type, representing the contents of the first XML node that 
matches the XPath expression.
+
+Special cases:
+- The function raises an error if xml or xpath are malformed.
+
+## Examples
+
+1. Basic node value extraction
+```sql
+SELECT xpath_string('<a>123</a>', '/a');
+```
+```text
++-----------------------------------+
+| xpath_string('<a>123</a>', '/a')  |
++-----------------------------------+
+| 123                               |
++-----------------------------------+
+```
+
+2. Nested element extraction
+```sql
+SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+```
+```text
++--------------------------------------------+
+| xpath_string('<a><b>123</b></a>', '/a/b')  |
++--------------------------------------------+
+| 123                                        |
++--------------------------------------------+
+```
+
+3. Using attributes
+```sql
+SELECT xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]');
+```
+```text
++----------------------------------------------------------+
+| xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]') |
++----------------------------------------------------------+
+| 123                                                      |
++----------------------------------------------------------+
+```
+
+4. Using position predicates
+```sql
+SELECT xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]');
+```
+```text
++----------------------------------------------------+
+| xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]') |
++----------------------------------------------------+
+| 2                                                  |
++----------------------------------------------------+
+```
+
+5. Handling CDATA and comments
+```sql
+SELECT xpath_string('<a><![CDATA[123]]></a>', '/a'), xpath_string('<a><!-- 
comment -->123</a>', '/a');
+```
+```text
++-----------------------------------------------+---------------------------------------------------+
+| xpath_string('<a><![CDATA[123]]></a>', '/a')  | xpath_string('<a><!-- 
comment -->123</a>', '/a')  |
++-----------------------------------------------+---------------------------------------------------+
+| 123                                           | 123                          
                     |
++-----------------------------------------------+---------------------------------------------------+
+```
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
new file mode 100644
index 00000000000..38f0798e7a7
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
@@ -0,0 +1,73 @@
+---
+{
+    "title": "MONTHS_BETWEEN",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+`MONTHS_BETWEEN` 函数计算两个日期之间的月份数(浮点数)。它接收两个日期参数和一个可选的布尔参数。
+
+**注意:**
+当 `<enddate>` 和 `<startdate>` 
都是各自月份的最后一天时,函数会进行特殊处理。它会返回完整的月份差值,而不考虑基于天数的分数部分。这确保了在比较一个月末与另一个月末时的一致性。
+
+例如:
+- `months_between('2024-01-31', '2024-02-29')` 将返回 
`-1.0`,因为两个日期都是各自月份的最后一天(1月31日和2月29日),所以结果被视为完整的月份差值,不进行分数调整。
+- `months_between('2024-01-29', '2024-02-29')` 也将返回 `-1.0`,因为月份中的日期相同。
+- `months_between('2024-01-30', '2024-02-29')` 将返回 
`-0.96774194`,因为月份中的日期不同且不是月末。 
+
+## 语法
+
+```sql
+MONTHS_BETWEEN(<enddate>, <startdate> [, <round_type>])
+```
+
+## 参数
+
+| 参数         | 说明                                                |
+|-------------------|------------------------------------------------------------|
+| `<enddate>`   | 结束日期,表示差值计算中的较晚日期。支持 `DATE`(如 `YYYY-MM-DD`)或 `DATETIME`(如 
`YYYY-MM-DD HH:MM:SS`)类型。     |
+| `<startdate>` | 开始日期,表示差值计算中的较早日期。支持 `DATE`(如 `YYYY-MM-DD`)或 `DATETIME`(如 
`YYYY-MM-DD HH:MM:SS`)类型。 |
+| `<round_type>` | 是否将结果四舍五入到第八位小数。支持 `true` 或 `false`。默认为 `true`。 |
+
+## 返回值
+
+返回 `<enddate>` 减去 `<startdate>` 得到的月份数(浮点数)
+
+结果 = (`<enddate>.year` - `<startdate>.year`) * 12 + `<enddate>.month` - 
`<startdate>.month` + (`<enddate>.day` - `<startdate>.day`) / 31.0
+
+- 当 `<enddate>` 或 `<startdate>` 为 NULL,或两者都为 NULL 时,返回 NULL
+- 当 `<round_type>` 为 `true` 时,结果四舍五入到第八位小数。
+
+## 示例
+
+```sql
+select months_between('2020-12-26','2020-10-25'),months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false);
+```
+
+```text
++-------------------------------------------+-------------------------------------------------------------------+
+| months_between('2020-12-26','2020-10-25') | months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false) |
++-------------------------------------------+-------------------------------------------------------------------+
+|                                2.03225806 |                                  
              -2.032258064516129 |
++-------------------------------------------+-------------------------------------------------------------------+
+```
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
new file mode 100644
index 00000000000..5c633a406a6
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
@@ -0,0 +1,70 @@
+---
+{
+    "title": "NEXT_DAY",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+NEXT_DAY 函数用于返回给定日期之后第一个匹配指定星期几的日期。
+
+## 语法
+
+```sql
+NEXT_DAY(<datetime/date>, <day_of_week>)
+```
+
+## 参数
+
+| 参数              | 描述                                                         
|
+|-------------------|--------------------------------------------------------------|
+| `<datetime/date>` | 用于查找下一个星期几的日期。                                 |
+| `<day_of_week>`   | 用于标识星期几的字符串表达式。                               |
+
+`<day_of_week>` 必须是以下值之一(不区分大小写):
+- 'SU', 'SUN', 'SUNDAY'
+- 'MO', 'MON', 'MONDAY'
+- 'TU', 'TUE', 'TUESDAY'
+- 'WE', 'WED', 'WEDNESDAY'
+- 'TH', 'THU', 'THURSDAY'
+- 'FR', 'FRI', 'FRIDAY'
+- 'SA', 'SAT', 'SATURDAY'
+
+## 返回值
+无论输入是 DATETIME 还是 DATE 类型,都返回 DATE 类型的值。
+
+特殊情况:
+- 如果 `<datetime/date>` 输入为 NULL,函数返回 NULL。
+- 如果输入是 NEXT_DAY("9999-12-31 12:00:00", `<day_of_week>`),函数将返回与输入相同的值。
+
+## 示例
+
+``` sql
+select next_day("2020-01-31 02:02:02", "MONDAY"),next_day("2020-01-31", 
"MONDAY");
+```
+```text
++--------------------------------------------+-----------------------------------+
+| next_day("2020-01-31 02:02:02", "MONDAY")  | next_day("2020-01-31", 
"MONDAY")  |
++--------------------------------------------+-----------------------------------+
+| 2020-02-03                                 | 2020-02-03                      
  |
++--------------------------------------------+-----------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
new file mode 100644
index 00000000000..d92e60ab3ee
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
@@ -0,0 +1,61 @@
+---
+{
+    "title": "STR_TO_MAP",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+
+将字符串转换为 `Map<String, String>` 类型。
+
+## 语法
+
+```sql
+STR_TO_MAP(<str> [, <pair_delimiter> [, <key_value_delimiter>]])
+```
+
+## 参数
+
+| 参数 | 说明 |
+| -- | -- |
+| `<str>` | 要转换为 map 的字符串 |
+| `<pair_delimiter>` | 字符串中键值对的分割符,默认为 `,` |
+| `<key_value_delimiter>` | 字符串中键和值的分割符,默认为 `:` |
+
+## 返回值
+
+返回从字符串构造的 `Map<String, String>`。
+
+## 示例
+
+```sql
+select str_to_map('a=1&b=2&c=3', '&', '=') as map1, 
str_to_map('x:10|y:20|z:30', '|', ':') as map2;
+```
+
+```text
++-----------------------------+--------------------------------+
+| map1                        | map2                           |
++-----------------------------+--------------------------------+
+| {"a":"1", "b":"2", "c":"3"} | {"x":"10", "y":"20", "z":"30"} |
++-----------------------------+--------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
new file mode 100644
index 00000000000..e99f800622f
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
@@ -0,0 +1,84 @@
+---
+{
+    "title": "PRINTF",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+
+使用指定的 
[printf](https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html)
 格式字符串和参数返回格式化后的字符串。
+
+## 语法
+
+```sql
+PRINTF(<format>, [<args>, ...])
+```
+
+## 参数  
+
+| 参数 | 说明 |  
+| -- | -- |  
+| `<format>` | printf 格式字符串。 |  
+| `<args>` | 要格式化的参数。 | 
+
+## 返回值  
+
+使用 printf 模式格式化后的字符串。 
+
+## 示例
+
+```sql
+select printf("hello world");
+```
+
+```text
++-----------------------+
+| printf("hello world") |
++-----------------------+
+| hello world           |
++-----------------------+
+```
+
+```sql
+select printf('%d-%s-%.2f', 100, 'test', 3.14);
+```
+
+```text
++-----------------------------------------+
+| printf('%d-%s-%.2f', 100, 'test', 3.14) |
++-----------------------------------------+
+| 100-test-3.14                           |
++-----------------------------------------+
+```
+
+```sql
+select printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 
255);
+```
+
+```text
++-----------------------------------------------------------------------------+
+| printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 255) |
++-----------------------------------------------------------------------------+
+| Int: 255, Str: test, Float: 3.14, Hex: ff                                   |
++-----------------------------------------------------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
new file mode 100644
index 00000000000..678d082c26d
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
@@ -0,0 +1,110 @@
+---
+{
+    "title": "XPATH_STRING",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+
+XPATH_STRING 函数用于解析 XML 字符串并返回第一个匹配 [XPath](https://www.w3.org/TR/xpath-10/) 
表达式的 XML 节点。
+
+## 语法
+
+```sql
+XPATH_STRING(<xml_string>, <xpath_expression>)
+```
+
+## 参数
+| 参数 | 描述 |
+| --------- | ----------------------------------------------|
+| `<xml_string>` | 源字符串。类型:VARCHAR |
+| `<xpath_expression>` | [XPath](https://www.w3.org/TR/xpath-10/) 
表达式。类型:VARCHAR |
+
+## 返回值
+
+返回 VARCHAR 类型,表示匹配 XPath 表达式的第一个 XML 节点的内容。
+
+特殊情况:
+- 如果 XML 或 XPath 格式不正确,函数会报错。
+
+## 示例
+
+1. 基本节点值提取
+```sql
+SELECT xpath_string('<a>123</a>', '/a');
+```
+```text
++-----------------------------------+
+| xpath_string('<a>123</a>', '/a')  |
++-----------------------------------+
+| 123                               |
++-----------------------------------+
+```
+
+2. 嵌套元素提取
+```sql
+SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+```
+```text
++--------------------------------------------+
+| xpath_string('<a><b>123</b></a>', '/a/b')  |
++--------------------------------------------+
+| 123                                        |
++--------------------------------------------+
+```
+
+3. 使用属性
+```sql
+SELECT xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]');
+```
+```text
++----------------------------------------------------------+
+| xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]') |
++----------------------------------------------------------+
+| 123                                                      |
++----------------------------------------------------------+
+```
+
+4. 使用位置谓词
+```sql
+SELECT xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]');
+```
+```text
++----------------------------------------------------+
+| xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]') |
++----------------------------------------------------+
+| 2                                                  |
++----------------------------------------------------+
+```
+
+5. 处理 CDATA 和注释
+```sql
+SELECT xpath_string('<a><![CDATA[123]]></a>', '/a'), xpath_string('<a><!-- 
comment -->123</a>', '/a');
+```
+```text
++-----------------------------------------------+---------------------------------------------------+
+| xpath_string('<a><![CDATA[123]]></a>', '/a')  | xpath_string('<a><!-- 
comment -->123</a>', '/a')  |
++-----------------------------------------------+---------------------------------------------------+
+| 123                                           | 123                          
                     |
++-----------------------------------------------+---------------------------------------------------+
+```
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
new file mode 100644
index 00000000000..52e0236a21a
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
@@ -0,0 +1,75 @@
+ ---
+{
+    "title": "MONTHS_BETWEEN",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 2.1.10 开始支持
+
+`MONTHS_BETWEEN` 函数计算两个日期之间的月份数(浮点数)。它接收两个日期参数和一个可选的布尔参数。
+
+**注意:**
+当 `<enddate>` 和 `<startdate>` 
都是各自月份的最后一天时,函数会进行特殊处理。它会返回完整的月份差值,而不考虑基于天数的分数部分。这确保了在比较一个月末与另一个月末时的一致性。
+
+例如:
+- `months_between('2024-01-31', '2024-02-29')` 将返回 
`-1.0`,因为两个日期都是各自月份的最后一天(1月31日和2月29日),所以结果被视为完整的月份差值,不进行分数调整。
+- `months_between('2024-01-29', '2024-02-29')` 也将返回 `-1.0`,因为月份中的日期相同。
+- `months_between('2024-01-30', '2024-02-29')` 将返回 
`-0.96774194`,因为月份中的日期不同且不是月末。 
+
+## 语法
+
+```sql
+MONTHS_BETWEEN(<enddate>, <startdate> [, <round_type>])
+```
+
+## 参数
+
+| 参数         | 说明                                                |
+|-------------------|------------------------------------------------------------|
+| `<enddate>`   | 结束日期,表示差值计算中的较晚日期。支持 `DATE`(如 `YYYY-MM-DD`)或 `DATETIME`(如 
`YYYY-MM-DD HH:MM:SS`)类型。     |
+| `<startdate>` | 开始日期,表示差值计算中的较早日期。支持 `DATE`(如 `YYYY-MM-DD`)或 `DATETIME`(如 
`YYYY-MM-DD HH:MM:SS`)类型。 |
+| `<round_type>` | 是否将结果四舍五入到第八位小数。支持 `true` 或 `false`。默认为 `true`。 |
+
+## 返回值
+
+返回 `<enddate>` 减去 `<startdate>` 得到的月份数(浮点数)
+
+结果 = (`<enddate>.year` - `<startdate>.year`) * 12 + `<enddate>.month` - 
`<startdate>.month` + (`<enddate>.day` - `<startdate>.day`) / 31.0
+
+- 当 `<enddate>` 或 `<startdate>` 为 NULL,或两者都为 NULL 时,返回 NULL
+- 当 `<round_type>` 为 `true` 时,结果四舍五入到第八位小数。
+
+## 示例
+
+```sql
+select months_between('2020-12-26','2020-10-25'),months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false);
+```
+
+```text
++-------------------------------------------+-------------------------------------------------------------------+
+| months_between('2020-12-26','2020-10-25') | months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false) |
++-------------------------------------------+-------------------------------------------------------------------+
+|                                2.03225806 |                                  
              -2.032258064516129 |
++-------------------------------------------+-------------------------------------------------------------------+
+```
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
new file mode 100644
index 00000000000..2120d64b980
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
@@ -0,0 +1,72 @@
+---
+{
+    "title": "NEXT_DAY",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 2.1.10 开始支持
+
+NEXT_DAY 函数用于返回给定日期之后第一个匹配指定星期几的日期。
+
+## 语法
+
+```sql
+NEXT_DAY(<datetime/date>, <day_of_week>)
+```
+
+## 参数
+
+| 参数              | 描述                                                         
|
+|-------------------|--------------------------------------------------------------|
+| `<datetime/date>` | 用于查找下一个星期几的日期。                                 |
+| `<day_of_week>`   | 用于标识星期几的字符串表达式。                               |
+
+`<day_of_week>` 必须是以下值之一(不区分大小写):
+- 'SU', 'SUN', 'SUNDAY'
+- 'MO', 'MON', 'MONDAY'
+- 'TU', 'TUE', 'TUESDAY'
+- 'WE', 'WED', 'WEDNESDAY'
+- 'TH', 'THU', 'THURSDAY'
+- 'FR', 'FRI', 'FRIDAY'
+- 'SA', 'SAT', 'SATURDAY'
+
+## 返回值
+无论输入是 DATETIME 还是 DATE 类型,都返回 DATE 类型的值。
+
+特殊情况:
+- 如果 `<datetime/date>` 输入为 NULL,函数返回 NULL。
+- 如果输入是 NEXT_DAY("9999-12-31 12:00:00", `<day_of_week>`),函数将返回与输入相同的值。
+
+## 示例
+
+``` sql
+select next_day("2020-01-31 02:02:02", "MONDAY"),next_day("2020-01-31", 
"MONDAY");
+```
+```text
++--------------------------------------------+-----------------------------------+
+| next_day("2020-01-31 02:02:02", "MONDAY")  | next_day("2020-01-31", 
"MONDAY")  |
++--------------------------------------------+-----------------------------------+
+| 2020-02-03                                 | 2020-02-03                      
  |
++--------------------------------------------+-----------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
new file mode 100644
index 00000000000..98ce252ae05
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
@@ -0,0 +1,62 @@
+---
+{
+    "title": "STR_TO_MAP",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 2.1.10 开始支持
+
+将字符串转换为 `Map<String, String>` 类型。
+
+## 语法
+
+```sql
+STR_TO_MAP(<str> [, <pair_delimiter> [, <key_value_delimiter>]])
+```
+
+## 参数
+
+| 参数 | 说明 |
+| -- | -- |
+| `<str>` | 要转换为 map 的字符串 |
+| `<pair_delimiter>` | 字符串中键值对的分割符,默认为 `,` |
+| `<key_value_delimiter>` | 字符串中键和值的分割符,默认为 `:` |
+
+## 返回值
+
+返回从字符串构造的 `Map<String, String>`。
+
+## 示例
+
+```sql
+select str_to_map('a=1&b=2&c=3', '&', '=') as map1, 
str_to_map('x:10|y:20|z:30', '|', ':') as map2;
+```
+
+```text
++-----------------------------+--------------------------------+
+| map1                        | map2                           |
++-----------------------------+--------------------------------+
+| {"a":"1", "b":"2", "c":"3"} | {"x":"10", "y":"20", "z":"30"} |
++-----------------------------+--------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
new file mode 100644
index 00000000000..3409f5011c2
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
@@ -0,0 +1,85 @@
+---
+{
+    "title": "PRINTF",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 2.1.10 开始支持
+
+使用指定的 
[printf](https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html)
 格式字符串和参数返回格式化后的字符串。
+
+## 语法
+
+```sql
+PRINTF(<format>, [<args>, ...])
+```
+
+## 参数  
+
+| 参数 | 说明 |  
+| -- | -- |  
+| `<format>` | printf 格式字符串。 |  
+| `<args>` | 要格式化的参数。 | 
+
+## 返回值  
+
+使用 printf 模式格式化后的字符串。 
+
+## 示例
+
+```sql
+select printf("hello world");
+```
+
+```text
++-----------------------+
+| printf("hello world") |
++-----------------------+
+| hello world           |
++-----------------------+
+```
+
+```sql
+select printf('%d-%s-%.2f', 100, 'test', 3.14);
+```
+
+```text
++-----------------------------------------+
+| printf('%d-%s-%.2f', 100, 'test', 3.14) |
++-----------------------------------------+
+| 100-test-3.14                           |
++-----------------------------------------+
+```
+
+```sql
+select printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 
255);
+```
+
+```text
++-----------------------------------------------------------------------------+
+| printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 255) |
++-----------------------------------------------------------------------------+
+| Int: 255, Str: test, Float: 3.14, Hex: ff                                   |
++-----------------------------------------------------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
new file mode 100644
index 00000000000..a46842fad7f
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
@@ -0,0 +1,111 @@
+---
+{
+    "title": "XPATH_STRING",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 2.1.10 开始支持
+
+XPATH_STRING 函数用于解析 XML 字符串并返回第一个匹配 [XPath](https://www.w3.org/TR/xpath-10/) 
表达式的 XML 节点。
+
+## 语法
+
+```sql
+XPATH_STRING(<xml_string>, <xpath_expression>)
+```
+
+## 参数
+| 参数 | 描述 |
+| --------- | ----------------------------------------------|
+| `<xml_string>` | 源字符串。类型:VARCHAR |
+| `<xpath_expression>` | [XPath](https://www.w3.org/TR/xpath-10/) 
表达式。类型:VARCHAR |
+
+## 返回值
+
+返回 VARCHAR 类型,表示匹配 XPath 表达式的第一个 XML 节点的内容。
+
+特殊情况:
+- 如果 XML 或 XPath 格式不正确,函数会报错。
+
+## 示例
+
+1. 基本节点值提取
+```sql
+SELECT xpath_string('<a>123</a>', '/a');
+```
+```text
++-----------------------------------+
+| xpath_string('<a>123</a>', '/a')  |
++-----------------------------------+
+| 123                               |
++-----------------------------------+
+```
+
+2. 嵌套元素提取
+```sql
+SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+```
+```text
++--------------------------------------------+
+| xpath_string('<a><b>123</b></a>', '/a/b')  |
++--------------------------------------------+
+| 123                                        |
++--------------------------------------------+
+```
+
+3. 使用属性
+```sql
+SELECT xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]');
+```
+```text
++----------------------------------------------------------+
+| xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]') |
++----------------------------------------------------------+
+| 123                                                      |
++----------------------------------------------------------+
+```
+
+4. 使用位置谓词
+```sql
+SELECT xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]');
+```
+```text
++----------------------------------------------------+
+| xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]') |
++----------------------------------------------------+
+| 2                                                  |
++----------------------------------------------------+
+```
+
+5. 处理 CDATA 和注释
+```sql
+SELECT xpath_string('<a><![CDATA[123]]></a>', '/a'), xpath_string('<a><!-- 
comment -->123</a>', '/a');
+```
+```text
++-----------------------------------------------+---------------------------------------------------+
+| xpath_string('<a><![CDATA[123]]></a>', '/a')  | xpath_string('<a><!-- 
comment -->123</a>', '/a')  |
++-----------------------------------------------+---------------------------------------------------+
+| 123                                           | 123                          
                     |
++-----------------------------------------------+---------------------------------------------------+
+```
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
new file mode 100644
index 00000000000..93c67cdd449
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
@@ -0,0 +1,75 @@
+---
+{
+    "title": "MONTHS_BETWEEN",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 3.0.6 开始支持
+
+`MONTHS_BETWEEN` 函数计算两个日期之间的月份数(浮点数)。它接收两个日期参数和一个可选的布尔参数。
+
+**注意:**
+当 `<enddate>` 和 `<startdate>` 
都是各自月份的最后一天时,函数会进行特殊处理。它会返回完整的月份差值,而不考虑基于天数的分数部分。这确保了在比较一个月末与另一个月末时的一致性。
+
+例如:
+- `months_between('2024-01-31', '2024-02-29')` 将返回 
`-1.0`,因为两个日期都是各自月份的最后一天(1月31日和2月29日),所以结果被视为完整的月份差值,不进行分数调整。
+- `months_between('2024-01-29', '2024-02-29')` 也将返回 `-1.0`,因为月份中的日期相同。
+- `months_between('2024-01-30', '2024-02-29')` 将返回 
`-0.96774194`,因为月份中的日期不同且不是月末。 
+
+## 语法
+
+```sql
+MONTHS_BETWEEN(<enddate>, <startdate> [, <round_type>])
+```
+
+## 参数
+
+| 参数         | 说明                                                |
+|-------------------|------------------------------------------------------------|
+| `<enddate>`   | 结束日期,表示差值计算中的较晚日期。支持 `DATE`(如 `YYYY-MM-DD`)或 `DATETIME`(如 
`YYYY-MM-DD HH:MM:SS`)类型。     |
+| `<startdate>` | 开始日期,表示差值计算中的较早日期。支持 `DATE`(如 `YYYY-MM-DD`)或 `DATETIME`(如 
`YYYY-MM-DD HH:MM:SS`)类型。 |
+| `<round_type>` | 是否将结果四舍五入到第八位小数。支持 `true` 或 `false`。默认为 `true`。 |
+
+## 返回值
+
+返回 `<enddate>` 减去 `<startdate>` 得到的月份数(浮点数)
+
+结果 = (`<enddate>.year` - `<startdate>.year`) * 12 + `<enddate>.month` - 
`<startdate>.month` + (`<enddate>.day` - `<startdate>.day`) / 31.0
+
+- 当 `<enddate>` 或 `<startdate>` 为 NULL,或两者都为 NULL 时,返回 NULL
+- 当 `<round_type>` 为 `true` 时,结果四舍五入到第八位小数。
+
+## 示例
+
+```sql
+select months_between('2020-12-26','2020-10-25'),months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false);
+```
+
+```text
++-------------------------------------------+-------------------------------------------------------------------+
+| months_between('2020-12-26','2020-10-25') | months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false) |
++-------------------------------------------+-------------------------------------------------------------------+
+|                                2.03225806 |                                  
              -2.032258064516129 |
++-------------------------------------------+-------------------------------------------------------------------+
+```
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
new file mode 100644
index 00000000000..19b52db8e23
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
@@ -0,0 +1,72 @@
+---
+{
+    "title": "NEXT_DAY",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 3.0.6 开始支持
+
+NEXT_DAY 函数用于返回给定日期之后第一个匹配指定星期几的日期。
+
+## 语法
+
+```sql
+NEXT_DAY(<datetime/date>, <day_of_week>)
+```
+
+## 参数
+
+| 参数              | 描述                                                         
|
+|-------------------|--------------------------------------------------------------|
+| `<datetime/date>` | 用于查找下一个星期几的日期。                                 |
+| `<day_of_week>`   | 用于标识星期几的字符串表达式。                               |
+
+`<day_of_week>` 必须是以下值之一(不区分大小写):
+- 'SU', 'SUN', 'SUNDAY'
+- 'MO', 'MON', 'MONDAY'
+- 'TU', 'TUE', 'TUESDAY'
+- 'WE', 'WED', 'WEDNESDAY'
+- 'TH', 'THU', 'THURSDAY'
+- 'FR', 'FRI', 'FRIDAY'
+- 'SA', 'SAT', 'SATURDAY'
+
+## 返回值
+无论输入是 DATETIME 还是 DATE 类型,都返回 DATE 类型的值。
+
+特殊情况:
+- 如果 `<datetime/date>` 输入为 NULL,函数返回 NULL。
+- 如果输入是 NEXT_DAY("9999-12-31 12:00:00", `<day_of_week>`),函数将返回与输入相同的值。
+
+## 示例
+
+``` sql
+select next_day("2020-01-31 02:02:02", "MONDAY"),next_day("2020-01-31", 
"MONDAY");
+```
+```text
++--------------------------------------------+-----------------------------------+
+| next_day("2020-01-31 02:02:02", "MONDAY")  | next_day("2020-01-31", 
"MONDAY")  |
++--------------------------------------------+-----------------------------------+
+| 2020-02-03                                 | 2020-02-03                      
  |
++--------------------------------------------+-----------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
new file mode 100644
index 00000000000..4694745f36d
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
@@ -0,0 +1,62 @@
+---
+{
+    "title": "STR_TO_MAP",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 3.0.6 开始支持
+
+将字符串转换为 `Map<String, String>` 类型。
+
+## 语法
+
+```sql
+STR_TO_MAP(<str> [, <pair_delimiter> [, <key_value_delimiter>]])
+```
+
+## 参数
+
+| 参数 | 说明 |
+| -- | -- |
+| `<str>` | 要转换为 map 的字符串 |
+| `<pair_delimiter>` | 字符串中键值对的分割符,默认为 `,` |
+| `<key_value_delimiter>` | 字符串中键和值的分割符,默认为 `:` |
+
+## 返回值
+
+返回从字符串构造的 `Map<String, String>`。
+
+## 示例
+
+```sql
+select str_to_map('a=1&b=2&c=3', '&', '=') as map1, 
str_to_map('x:10|y:20|z:30', '|', ':') as map2;
+```
+
+```text
++-----------------------------+--------------------------------+
+| map1                        | map2                           |
++-----------------------------+--------------------------------+
+| {"a":"1", "b":"2", "c":"3"} | {"x":"10", "y":"20", "z":"30"} |
++-----------------------------+--------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
new file mode 100644
index 00000000000..57fa1ffdd47
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
@@ -0,0 +1,85 @@
+---
+{
+    "title": "PRINTF",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 3.0.6 开始支持
+
+使用指定的 
[printf](https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html)
 格式字符串和参数返回格式化后的字符串。
+
+## 语法
+
+```sql
+PRINTF(<format>, [<args>, ...])
+```
+
+## 参数  
+
+| 参数 | 说明 |  
+| -- | -- |  
+| `<format>` | printf 格式字符串。 |  
+| `<args>` | 要格式化的参数。 | 
+
+## 返回值  
+
+使用 printf 模式格式化后的字符串。 
+
+## 示例
+
+```sql
+select printf("hello world");
+```
+
+```text
++-----------------------+
+| printf("hello world") |
++-----------------------+
+| hello world           |
++-----------------------+
+```
+
+```sql
+select printf('%d-%s-%.2f', 100, 'test', 3.14);
+```
+
+```text
++-----------------------------------------+
+| printf('%d-%s-%.2f', 100, 'test', 3.14) |
++-----------------------------------------+
+| 100-test-3.14                           |
++-----------------------------------------+
+```
+
+```sql
+select printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 
255);
+```
+
+```text
++-----------------------------------------------------------------------------+
+| printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 255) |
++-----------------------------------------------------------------------------+
+| Int: 255, Str: test, Float: 3.14, Hex: ff                                   |
++-----------------------------------------------------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
new file mode 100644
index 00000000000..153ed403be7
--- /dev/null
+++ 
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
@@ -0,0 +1,111 @@
+---
+{
+    "title": "XPATH_STRING",
+    "language": "cn"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## 描述
+> 从版本 3.0.6 开始支持
+
+XPATH_STRING 函数用于解析 XML 字符串并返回第一个匹配 [XPath](https://www.w3.org/TR/xpath-10/) 
表达式的 XML 节点。
+
+## 语法
+
+```sql
+XPATH_STRING(<xml_string>, <xpath_expression>)
+```
+
+## 参数
+| 参数 | 描述 |
+| --------- | ----------------------------------------------|
+| `<xml_string>` | 源字符串。类型:VARCHAR |
+| `<xpath_expression>` | [XPath](https://www.w3.org/TR/xpath-10/) 
表达式。类型:VARCHAR |
+
+## 返回值
+
+返回 VARCHAR 类型,表示匹配 XPath 表达式的第一个 XML 节点的内容。
+
+特殊情况:
+- 如果 XML 或 XPath 格式不正确,函数会报错。
+
+## 示例
+
+1. 基本节点值提取
+```sql
+SELECT xpath_string('<a>123</a>', '/a');
+```
+```text
++-----------------------------------+
+| xpath_string('<a>123</a>', '/a')  |
++-----------------------------------+
+| 123                               |
++-----------------------------------+
+```
+
+2. 嵌套元素提取
+```sql
+SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+```
+```text
++--------------------------------------------+
+| xpath_string('<a><b>123</b></a>', '/a/b')  |
++--------------------------------------------+
+| 123                                        |
++--------------------------------------------+
+```
+
+3. 使用属性
+```sql
+SELECT xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]');
+```
+```text
++----------------------------------------------------------+
+| xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]') |
++----------------------------------------------------------+
+| 123                                                      |
++----------------------------------------------------------+
+```
+
+4. 使用位置谓词
+```sql
+SELECT xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]');
+```
+```text
++----------------------------------------------------+
+| xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]') |
++----------------------------------------------------+
+| 2                                                  |
++----------------------------------------------------+
+```
+
+5. 处理 CDATA 和注释
+```sql
+SELECT xpath_string('<a><![CDATA[123]]></a>', '/a'), xpath_string('<a><!-- 
comment -->123</a>', '/a');
+```
+```text
++-----------------------------------------------+---------------------------------------------------+
+| xpath_string('<a><![CDATA[123]]></a>', '/a')  | xpath_string('<a><!-- 
comment -->123</a>', '/a')  |
++-----------------------------------------------+---------------------------------------------------+
+| 123                                           | 123                          
                     |
++-----------------------------------------------+---------------------------------------------------+
+```
diff --git a/sidebars.json b/sidebars.json
index c6d9d874970..30c2e3863f8 100644
--- a/sidebars.json
+++ b/sidebars.json
@@ -1027,7 +1027,9 @@
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/format",
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/format-number",
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/parse-data-size",
-                                        
"sql-manual/sql-functions/scalar-functions/string-functions/digital-masking"
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/digital-masking",
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/printf",
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/xpath-string"
                                     ]
                                 },
                                 {
@@ -1122,11 +1124,13 @@
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-diff",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-sub",
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-between",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-sub",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-diff",
-                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub"
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub",
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/next-day"
                                     ]
                                 },
                                 {
@@ -1265,7 +1269,8 @@
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-values",
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-size",
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-key",
-                                        
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value"
+                                        
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value",
+                                        
"sql-manual/sql-functions/scalar-functions/map-functions/str-to-map"
                                     ]
                                 },
                                 {
diff --git 
a/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
new file mode 100644
index 00000000000..d6177b06ad6
--- /dev/null
+++ 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
@@ -0,0 +1,75 @@
+---
+{
+    "title": "MONTHS_BETWEEN",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 2.1.10
+
+The `MONTHS_BETWEEN` function calculates the floating-point number of months 
between two dates. It receives two date arguments and a optional boolean 
argument.
+
+**Note:**
+When both `<enddate>` and `<startdate>` are the last day of their respective 
months, the function applies special handling.It returns the full month 
difference without considering the fractional part based on days. This ensures 
consistency when comparing the end of one month to the end of another.
+
+For example:
+- `months_between('2024-01-31', '2024-02-29')` will return `-1.0`, because 
both dates are the last day of their respective months (January 31st and 
February 29th), so the result is treated as a full month difference without 
fractional adjustments.
+- `months_between('2024-01-29', '2024-02-29')` will also return `-1.0`, 
because the day of the month is the same.
+- `months_between('2024-01-30', '2024-02-29')` will return `-0.96774194`, 
because the day of the month is not the same and not the last day of the month.
+
+## Syntax
+
+```sql
+MONTHS_BETWEEN(<enddate>, <startdate> [, <round_type>])
+```
+
+## Parameters
+
+| Parameter         | Description                                              
  |
+|-------------------|------------------------------------------------------------|
+| `<enddate>`   | The ending date, representing the later date in the 
difference calculation. Supports `DATE` (e.g., `YYYY-MM-DD`) or `DATETIME` 
(e.g., `YYYY-MM-DD HH:MM:SS`) types.     |
+| `<startdate>` | The starting date, representing the earlier date in the 
difference calculation. Supports `DATE` (e.g., `YYYY-MM-DD`) or `DATETIME` 
(e.g., `YYYY-MM-DD HH:MM:SS`) types. |
+| `<round_type>` | Whether to round the result to the eighth decimal place. 
Supports `true` or `false`. Default is `true`. |
+
+## Return Value
+
+returns the floating-point number of months resulting from `<enddate>` minus 
`<startdate>`
+
+result = (`<enddate>.year` - `<startdate>.year`) * 12 + `<enddate>.month` - 
`<startdate>.month` + (`<enddate>.day` - `<startdate>.day`) / 31.0
+
+- When either `<enddate>` or `<startdate>` is NULL, or both are NULL, it 
returns NULL
+- When `<round_type>` is `true`, the result is rounded to the eighth decimal 
place.
+
+## Example
+
+```sql
+select months_between('2020-12-26','2020-10-25'),months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false);
+```
+
+```text
++-------------------------------------------+-------------------------------------------------------------------+
+| months_between('2020-12-26','2020-10-25') | months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false) |
++-------------------------------------------+-------------------------------------------------------------------+
+|                                2.03225806 |                                  
              -2.032258064516129 |
++-------------------------------------------+-------------------------------------------------------------------+
+```
diff --git 
a/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
new file mode 100644
index 00000000000..66c46ad78df
--- /dev/null
+++ 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
@@ -0,0 +1,72 @@
+---
+{
+    "title": "NEXT_DAY",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 2.1.10
+
+The NEXT_DAY function is used to return the first date that is later than the 
given date and matches the specified day of the week.
+
+## Syntax
+
+```sql
+NEXT_DAY(<datetime/date>, <day_of_week>)
+```
+
+## Parameters
+
+| Parameter         | Description                                              
     |
+|-------------------|---------------------------------------------------------------|
+| `<datetime/date>` | The date which will be used to find the next day of the 
week. |
+| `<day_of_week>`   | A STRING expression identifying a day of the week.       
     |
+
+`<day_of_week>` must be one of the following (case insensitive):
+- 'SU', 'SUN', 'SUNDAY'
+- 'MO', 'MON', 'MONDAY'
+- 'TU', 'TUE', 'TUESDAY'
+- 'WE', 'WED', 'WEDNESDAY'
+- 'TH', 'THU', 'THURSDAY'
+- 'FR', 'FRI', 'FRIDAY'
+- 'SA', 'SAT', 'SATURDAY'
+
+## Return Value
+A DATE value whatever the input is DATETIME or DATE.
+
+Special cases:
+- If the `<datetime/date>` input is NULL, the function returns NULL.
+- If the input is NEXT_DAY("9999-12-31 12:00:00", `<day_of_week>`), the 
function will return same value as the input.
+
+## Example
+
+``` sql
+select next_day("2020-01-31 02:02:02", "MONDAY"),next_day("2020-01-31", 
"MONDAY");
+```
+```text
++--------------------------------------------+-----------------------------------+
+| next_day("2020-01-31 02:02:02", "MONDAY")  | next_day("2020-01-31", 
"MONDAY")  |
++--------------------------------------------+-----------------------------------+
+| 2020-02-03                                 | 2020-02-03                      
  |
++--------------------------------------------+-----------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
new file mode 100644
index 00000000000..82631e849d0
--- /dev/null
+++ 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
@@ -0,0 +1,62 @@
+---
+{
+    "title": "STR_TO_MAP",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 2.1.10
+
+Constructs a `Map<String, String>` from a string.
+
+## Syntax
+
+```sql
+STR_TO_MAP(<str> [, <pair_delimiter> [, <key_value_delimiter>]])
+```
+
+## Parameters
+
+| Parameter | Description |
+| -- | -- |
+| `<str>` | The string to be converted to a map |
+| `<pair_delimiter>` | The delimiter for the pairs in the string, default is 
`,` |
+| `<key_value_delimiter>` | The delimiter for the keys and values in the 
string, default is `:` |
+
+## Return Value
+
+Returns a `Map<String, String>` constructed from a string.
+
+## Example
+
+```sql
+select str_to_map('a=1&b=2&c=3', '&', '=') as map1, 
str_to_map('x:10|y:20|z:30', '|', ':') as map2;
+```
+
+```text
++-----------------------------+--------------------------------+
+| map1                        | map2                           |
++-----------------------------+--------------------------------+
+| {"a":"1", "b":"2", "c":"3"} | {"x":"10", "y":"20", "z":"30"} |
++-----------------------------+--------------------------------+
+```
diff --git 
a/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
new file mode 100644
index 00000000000..9d71bf8eeab
--- /dev/null
+++ 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
@@ -0,0 +1,85 @@
+---
+{
+    "title": "PRINTF",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 2.1.10
+
+Returns a formatted string using the specified 
[printf](https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html)
 string and arguments.
+
+## Syntax
+
+```sql
+PRINTF(<format>, [<args>, ...])
+```
+
+## Parameters  
+
+| Parameter | Description |  
+| -- | -- |  
+| `<format>` | The printf format string. |  
+| `<args>` | The arguments to be formatted. | 
+
+## Return Value  
+
+The formatted string using a printf mode. 
+
+## Example
+
+```sql
+select printf("hello world");
+```
+
+```text
++-----------------------+
+| printf("hello world") |
++-----------------------+
+| hello world           |
++-----------------------+
+```
+
+```sql
+select printf('%d-%s-%.2f', 100, 'test', 3.14);
+```
+
+```text
++-----------------------------------------+
+| printf('%d-%s-%.2f', 100, 'test', 3.14) |
++-----------------------------------------+
+| 100-test-3.14                           |
++-----------------------------------------+
+```
+
+```sql
+select printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 
255);
+```
+
+```text
++-----------------------------------------------------------------------------+
+| printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 255) |
++-----------------------------------------------------------------------------+
+| Int: 255, Str: test, Float: 3.14, Hex: ff                                   |
++-----------------------------------------------------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
new file mode 100644
index 00000000000..54a2a222e64
--- /dev/null
+++ 
b/versioned_docs/version-2.1/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
@@ -0,0 +1,111 @@
+---
+{
+    "title": "XPATH_STRING",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 2.1.10
+
+The XPATH_STRING function is used to parse the XML string and return the first 
XML node that matches the [XPath](https://www.w3.org/TR/xpath-10/) expression.
+
+## Syntax
+
+```sql
+XPATH_STRING(<xml_string>, <xpath_expression>)
+```
+
+## Parameters
+| Parameter | Description                                   |
+| --------- | ----------------------------------------------|
+| `<xml_string>` | Source string. Type: VARCHAR             |
+| `<xpath_expression>` | [XPath](https://www.w3.org/TR/xpath-10/) expression. 
Type: VARCHAR    |
+
+## Return Value
+
+Returns VARCHAR type, representing the contents of the first XML node that 
matches the XPath expression.
+
+Special cases:
+- The function raises an error if xml or xpath are malformed.
+
+## Examples
+
+1. Basic node value extraction
+```sql
+SELECT xpath_string('<a>123</a>', '/a');
+```
+```text
++-----------------------------------+
+| xpath_string('<a>123</a>', '/a')  |
++-----------------------------------+
+| 123                               |
++-----------------------------------+
+```
+
+2. Nested element extraction
+```sql
+SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+```
+```text
++--------------------------------------------+
+| xpath_string('<a><b>123</b></a>', '/a/b')  |
++--------------------------------------------+
+| 123                                        |
++--------------------------------------------+
+```
+
+3. Using attributes
+```sql
+SELECT xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]');
+```
+```text
++----------------------------------------------------------+
+| xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]') |
++----------------------------------------------------------+
+| 123                                                      |
++----------------------------------------------------------+
+```
+
+4. Using position predicates
+```sql
+SELECT xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]');
+```
+```text
++----------------------------------------------------+
+| xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]') |
++----------------------------------------------------+
+| 2                                                  |
++----------------------------------------------------+
+```
+
+5. Handling CDATA and comments
+```sql
+SELECT xpath_string('<a><![CDATA[123]]></a>', '/a'), xpath_string('<a><!-- 
comment -->123</a>', '/a');
+```
+```text
++-----------------------------------------------+---------------------------------------------------+
+| xpath_string('<a><![CDATA[123]]></a>', '/a')  | xpath_string('<a><!-- 
comment -->123</a>', '/a')  |
++-----------------------------------------------+---------------------------------------------------+
+| 123                                           | 123                          
                     |
++-----------------------------------------------+---------------------------------------------------+
+```
diff --git 
a/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
new file mode 100644
index 00000000000..5df9bb9510a
--- /dev/null
+++ 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/months-between.md
@@ -0,0 +1,75 @@
+---
+{
+    "title": "MONTHS_BETWEEN",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 3.0.6
+
+The `MONTHS_BETWEEN` function calculates the floating-point number of months 
between two dates. It receives two date arguments and a optional boolean 
argument.
+
+**Note:**
+When both `<enddate>` and `<startdate>` are the last day of their respective 
months, the function applies special handling.It returns the full month 
difference without considering the fractional part based on days. This ensures 
consistency when comparing the end of one month to the end of another.
+
+For example:
+- `months_between('2024-01-31', '2024-02-29')` will return `-1.0`, because 
both dates are the last day of their respective months (January 31st and 
February 29th), so the result is treated as a full month difference without 
fractional adjustments.
+- `months_between('2024-01-29', '2024-02-29')` will also return `-1.0`, 
because the day of the month is the same.
+- `months_between('2024-01-30', '2024-02-29')` will return `-0.96774194`, 
because the day of the month is not the same and not the last day of the month.
+
+## Syntax
+
+```sql
+MONTHS_BETWEEN(<enddate>, <startdate> [, <round_type>])
+```
+
+## Parameters
+
+| Parameter         | Description                                              
  |
+|-------------------|------------------------------------------------------------|
+| `<enddate>`   | The ending date, representing the later date in the 
difference calculation. Supports `DATE` (e.g., `YYYY-MM-DD`) or `DATETIME` 
(e.g., `YYYY-MM-DD HH:MM:SS`) types.     |
+| `<startdate>` | The starting date, representing the earlier date in the 
difference calculation. Supports `DATE` (e.g., `YYYY-MM-DD`) or `DATETIME` 
(e.g., `YYYY-MM-DD HH:MM:SS`) types. |
+| `<round_type>` | Whether to round the result to the eighth decimal place. 
Supports `true` or `false`. Default is `true`. |
+
+## Return Value
+
+returns the floating-point number of months resulting from `<enddate>` minus 
`<startdate>`
+
+result = (`<enddate>.year` - `<startdate>.year`) * 12 + `<enddate>.month` - 
`<startdate>.month` + (`<enddate>.day` - `<startdate>.day`) / 31.0
+
+- When either `<enddate>` or `<startdate>` is NULL, or both are NULL, it 
returns NULL
+- When `<round_type>` is `true`, the result is rounded to the eighth decimal 
place.
+
+## Example
+
+```sql
+select months_between('2020-12-26','2020-10-25'),months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false);
+```
+
+```text
++-------------------------------------------+-------------------------------------------------------------------+
+| months_between('2020-12-26','2020-10-25') | months_between('2020-10-25 
10:00:00','2020-12-26 11:00:00',false) |
++-------------------------------------------+-------------------------------------------------------------------+
+|                                2.03225806 |                                  
              -2.032258064516129 |
++-------------------------------------------+-------------------------------------------------------------------+
+```
diff --git 
a/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
new file mode 100644
index 00000000000..740535262ad
--- /dev/null
+++ 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/date-time-functions/next-day.md
@@ -0,0 +1,72 @@
+---
+{
+    "title": "NEXT_DAY",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 3.0.6
+
+The NEXT_DAY function is used to return the first date that is later than the 
given date and matches the specified day of the week.
+
+## Syntax
+
+```sql
+NEXT_DAY(<datetime/date>, <day_of_week>)
+```
+
+## Parameters
+
+| Parameter         | Description                                              
     |
+|-------------------|---------------------------------------------------------------|
+| `<datetime/date>` | The date which will be used to find the next day of the 
week. |
+| `<day_of_week>`   | A STRING expression identifying a day of the week.       
     |
+
+`<day_of_week>` must be one of the following (case insensitive):
+- 'SU', 'SUN', 'SUNDAY'
+- 'MO', 'MON', 'MONDAY'
+- 'TU', 'TUE', 'TUESDAY'
+- 'WE', 'WED', 'WEDNESDAY'
+- 'TH', 'THU', 'THURSDAY'
+- 'FR', 'FRI', 'FRIDAY'
+- 'SA', 'SAT', 'SATURDAY'
+
+## Return Value
+A DATE value whatever the input is DATETIME or DATE.
+
+Special cases:
+- If the `<datetime/date>` input is NULL, the function returns NULL.
+- If the input is NEXT_DAY("9999-12-31 12:00:00", `<day_of_week>`), the 
function will return same value as the input.
+
+## Example
+
+``` sql
+select next_day("2020-01-31 02:02:02", "MONDAY"),next_day("2020-01-31", 
"MONDAY");
+```
+```text
++--------------------------------------------+-----------------------------------+
+| next_day("2020-01-31 02:02:02", "MONDAY")  | next_day("2020-01-31", 
"MONDAY")  |
++--------------------------------------------+-----------------------------------+
+| 2020-02-03                                 | 2020-02-03                      
  |
++--------------------------------------------+-----------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
new file mode 100644
index 00000000000..0ccf1fe2a84
--- /dev/null
+++ 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/map-functions/str-to-map.md
@@ -0,0 +1,62 @@
+---
+{
+    "title": "STR_TO_MAP",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 3.0.6
+
+Constructs a `Map<String, String>` from a string.
+
+## Syntax
+
+```sql
+STR_TO_MAP(<str> [, <pair_delimiter> [, <key_value_delimiter>]])
+```
+
+## Parameters
+
+| Parameter | Description |
+| -- | -- |
+| `<str>` | The string to be converted to a map |
+| `<pair_delimiter>` | The delimiter for the pairs in the string, default is 
`,` |
+| `<key_value_delimiter>` | The delimiter for the keys and values in the 
string, default is `:` |
+
+## Return Value
+
+Returns a `Map<String, String>` constructed from a string.
+
+## Example
+
+```sql
+select str_to_map('a=1&b=2&c=3', '&', '=') as map1, 
str_to_map('x:10|y:20|z:30', '|', ':') as map2;
+```
+
+```text
++-----------------------------+--------------------------------+
+| map1                        | map2                           |
++-----------------------------+--------------------------------+
+| {"a":"1", "b":"2", "c":"3"} | {"x":"10", "y":"20", "z":"30"} |
++-----------------------------+--------------------------------+
+```
diff --git 
a/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
new file mode 100644
index 00000000000..7d841eaab43
--- /dev/null
+++ 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/printf.md
@@ -0,0 +1,85 @@
+---
+{
+    "title": "PRINTF",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 3.0.6
+
+Returns a formatted string using the specified 
[printf](https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html)
 string and arguments.
+
+## Syntax
+
+```sql
+PRINTF(<format>, [<args>, ...])
+```
+
+## Parameters  
+
+| Parameter | Description |  
+| -- | -- |  
+| `<format>` | The printf format string. |  
+| `<args>` | The arguments to be formatted. | 
+
+## Return Value  
+
+The formatted string using a printf mode. 
+
+## Example
+
+```sql
+select printf("hello world");
+```
+
+```text
++-----------------------+
+| printf("hello world") |
++-----------------------+
+| hello world           |
++-----------------------+
+```
+
+```sql
+select printf('%d-%s-%.2f', 100, 'test', 3.14);
+```
+
+```text
++-----------------------------------------+
+| printf('%d-%s-%.2f', 100, 'test', 3.14) |
++-----------------------------------------+
+| 100-test-3.14                           |
++-----------------------------------------+
+```
+
+```sql
+select printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 
255);
+```
+
+```text
++-----------------------------------------------------------------------------+
+| printf('Int: %d, Str: %s, Float: %.2f, Hex: %x', 255, 'test', 3.14159, 255) |
++-----------------------------------------------------------------------------+
+| Int: 255, Str: test, Float: 3.14, Hex: ff                                   |
++-----------------------------------------------------------------------------+
+``` 
\ No newline at end of file
diff --git 
a/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
new file mode 100644
index 00000000000..3b3b2bb6e32
--- /dev/null
+++ 
b/versioned_docs/version-3.0/sql-manual/sql-functions/scalar-functions/string-functions/xpath-string.md
@@ -0,0 +1,111 @@
+---
+{
+    "title": "XPATH_STRING",
+    "language": "en"
+}
+---
+
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## Description
+> after version 3.0.6
+
+The XPATH_STRING function is used to parse the XML string and return the first 
XML node that matches the [XPath](https://www.w3.org/TR/xpath-10/) expression.
+
+## Syntax
+
+```sql
+XPATH_STRING(<xml_string>, <xpath_expression>)
+```
+
+## Parameters
+| Parameter | Description                                   |
+| --------- | ----------------------------------------------|
+| `<xml_string>` | Source string. Type: VARCHAR             |
+| `<xpath_expression>` | [XPath](https://www.w3.org/TR/xpath-10/) expression. 
Type: VARCHAR    |
+
+## Return Value
+
+Returns VARCHAR type, representing the contents of the first XML node that 
matches the XPath expression.
+
+Special cases:
+- The function raises an error if xml or xpath are malformed.
+
+## Examples
+
+1. Basic node value extraction
+```sql
+SELECT xpath_string('<a>123</a>', '/a');
+```
+```text
++-----------------------------------+
+| xpath_string('<a>123</a>', '/a')  |
++-----------------------------------+
+| 123                               |
++-----------------------------------+
+```
+
+2. Nested element extraction
+```sql
+SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+```
+```text
++--------------------------------------------+
+| xpath_string('<a><b>123</b></a>', '/a/b')  |
++--------------------------------------------+
+| 123                                        |
++--------------------------------------------+
+```
+
+3. Using attributes
+```sql
+SELECT xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]');
+```
+```text
++----------------------------------------------------------+
+| xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]') |
++----------------------------------------------------------+
+| 123                                                      |
++----------------------------------------------------------+
+```
+
+4. Using position predicates
+```sql
+SELECT xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]');
+```
+```text
++----------------------------------------------------+
+| xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]') |
++----------------------------------------------------+
+| 2                                                  |
++----------------------------------------------------+
+```
+
+5. Handling CDATA and comments
+```sql
+SELECT xpath_string('<a><![CDATA[123]]></a>', '/a'), xpath_string('<a><!-- 
comment -->123</a>', '/a');
+```
+```text
++-----------------------------------------------+---------------------------------------------------+
+| xpath_string('<a><![CDATA[123]]></a>', '/a')  | xpath_string('<a><!-- 
comment -->123</a>', '/a')  |
++-----------------------------------------------+---------------------------------------------------+
+| 123                                           | 123                          
                     |
++-----------------------------------------------+---------------------------------------------------+
+```
diff --git a/versioned_sidebars/version-2.1-sidebars.json 
b/versioned_sidebars/version-2.1-sidebars.json
index 18262ad30cf..3609483ccd9 100644
--- a/versioned_sidebars/version-2.1-sidebars.json
+++ b/versioned_sidebars/version-2.1-sidebars.json
@@ -1032,7 +1032,9 @@
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract-or-null",
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace",
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace-one",
-                                        
"sql-manual/sql-functions/scalar-functions/string-functions/digital-masking"
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/digital-masking",
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/printf",
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/xpath-string"
                                     ]
                                 },
                                 {
@@ -1127,9 +1129,11 @@
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-diff",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-sub",
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-between",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-diff",
-                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub"
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub",
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/next-day"
                                     ]
                                 },
                                 {
@@ -1260,7 +1264,8 @@
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-values",
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-size",
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-key",
-                                        
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value"
+                                        
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value",
+                                        
"sql-manual/sql-functions/scalar-functions/map-functions/str-to-map"
                                     ]
                                 },
                                 {
diff --git a/versioned_sidebars/version-3.0-sidebars.json 
b/versioned_sidebars/version-3.0-sidebars.json
index 521ce1dcc2f..347a54cc276 100644
--- a/versioned_sidebars/version-3.0-sidebars.json
+++ b/versioned_sidebars/version-3.0-sidebars.json
@@ -1080,7 +1080,9 @@
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/regexp-extract-or-null",
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace",
                                         
"sql-manual/sql-functions/scalar-functions/string-functions/regexp-replace-one",
-                                        
"sql-manual/sql-functions/scalar-functions/string-functions/digital-masking"
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/digital-masking",
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/printf",
+                                        
"sql-manual/sql-functions/scalar-functions/string-functions/xpath-string"
                                     ]
                                 },
                                 {
@@ -1175,11 +1177,13 @@
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-diff",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-sub",
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/months-between",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-sub",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/quarters-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-add",
                                         
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-diff",
-                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub"
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/years-sub",
+                                        
"sql-manual/sql-functions/scalar-functions/date-time-functions/next-day"
                                     ]
                                 },
                                 {
@@ -1315,7 +1319,8 @@
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-values",
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-size",
                                         
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-key",
-                                        
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value"
+                                        
"sql-manual/sql-functions/scalar-functions/map-functions/map-contains-value",
+                                        
"sql-manual/sql-functions/scalar-functions/map-functions/str-to-map"
                                     ]
                                 },
                                 {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to