Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FLINK-37177][Doc] Update chinese documentation of json function #26055

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 25 additions & 6 deletions docs/data/sql_functions_zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ string:
返回一个 STRING 格式的裁剪后的 str。如果任何参数为 `NULL`,则返回 `NULL`。
- sql: BTRIM(str[, trimStr])
table: str.btrim([trimStr])
description: |
description: |
从 str 的开头和结尾删除 trimStr 中的字符。trimStr 默认设置为空格。

str <CHAR | VARCHAR>, trimStr <CHAR | VARCHAR>
Expand Down Expand Up @@ -851,7 +851,7 @@ conditional:
description: |
从 value1, value2, ... 返回第一个不为 `NULL` 的值。例如 `COALESCE(3, 5, 3)` 返回 3。
如果所有参数为 `NULL`,返回 `NULL`。返回类型是所有参数的限制最最少的通用类型,如果所有参数是可空的类型,返回类型也是可空的类型。

```sql
-- 返回 'default'
COALESCE(NULL, 'default')
Expand Down Expand Up @@ -917,7 +917,7 @@ collection:
- sql: CARDINALITY(map)
table: MAP.cardinality()
description: 返回 map 中的 entries 数量。
- sql: map ‘[’ value ‘]’
- sql: map '[' value ']'
table: MAP.at(ANY)
description: 返回 map 中指定 key 对应的值。
- sql: ARRAY_APPEND(array, element)
Expand Down Expand Up @@ -1077,7 +1077,7 @@ json:

对于空路径表达式或错误,可以将行为定义为返回 `null`、引发错误或返回定义的默认值。当省略时,默认为 `NULL ON EMPTY` 或
`NULL ON ERROR`。默认值可以是文字或表达式。如果默认值本身引发错误,就会造成 `ON EMPTY` 的错误行为,并引发 `ON ERROR` 的错误。

对于路径表达式中包含特殊字符(如空格),你可以使用`['property']` 或 `["property"]`来引用父对象中指定的属性。请确保在属性名两侧加上单引号或双引号。
当在 SQL 使用 JSON_VALUE 时,路径作为一个字符串参数已经被单引号引用了,因此你必须将属性名上的单引号转义,如`JSON_VALUE('{"a b": "true"}', '$.[''a b'']')`。

Expand Down Expand Up @@ -1171,6 +1171,9 @@ json:
JSON_OBJECT(KEY 'K1' VALUE CAST(NULL AS STRING) NULL ON NULL) -- '{"K1":null}'
JSON_OBJECT(KEY 'K1' VALUE CAST(NULL AS STRING) ABSENT ON NULL) -- '{}'

-- '{"K1":{"K2":{"value":42}}}'
JSON_OBJECT('K1' VALUE JSON('{"K2": {"value": 42}}'))

-- '{"K1":{"K2":"V"}}'
JSON_OBJECT(
KEY 'K1'
Expand All @@ -1180,6 +1183,22 @@ json:
)
)
```
- sql: JSON(value)
table: json(value)
description: |
需要一个原始的、预先格式化的 JSON 字符串,并按原样返回其值,而不将其作为字符串转义。
该函数目前只能在“JSON_OBJECT”函数中使用。它允许通过预格式化的 JSON 字符串将直接插入到生成的 JSON 结构中,而不是作为字符串值转义。
这允许将嵌套的 JSON 结构存储在JSON_OBJECT 而不将它们作为字符串处理。如果值为 NULL 或空,则该函数返回 NULL。
```sql
-- {"K":{"K2":42}}
JSON_OBJECT('K' VALUE JSON('{"K2": 42}'))
-- {"K":{"K2":{"K3":42}}}
JSON_OBJECT('K' VALUE JSON('{"K2":{"K3":42}}'))
-- {"K": null}
JSON_OBJECT('K' VALUE JSON(''))
-- JSON 函数只能在 JSON_OBJECT 函数中使用
JSON('{"value": 42}')
```
- sql: JSON_ARRAY([value]* [ { NULL | ABSENT } ON NULL ])
table: jsonArray(JsonOnNull, values...)
description: |
Expand Down Expand Up @@ -1219,10 +1238,10 @@ valueconstruction:
description: |
返回从值列表 (value1, value2, ...) 创建的行。隐式行构造函数至少需要两个字段。显式行构造函数可以处理任意数量的字段。
两者都支持任意表达式作为字段
- sql: ARRAY ‘[’ value1 [, value2 ]* ‘]’
- sql: ARRAY '[' value1 [, value2 ]* ']'
table: array(ANY1, ANY2, ...)
description: 返回从值列表 (value1, value2, ...) 创建的数组。
- sql: MAP ‘[’ value1, value2 [, value3, value4 ]* ‘]’
- sql: MAP '[' value1, value2 [, value3, value4 ]* ']'
table: map(ANY1, ANY2, ANY3, ANY4, ...)
description: 返回从键值对列表 ((value1, value2), (value3, value4), ...) 创建的 map。
- table: NUMERIC.rows
Expand Down