ZhijieYang commented on a change in pull request #16348: URL: https://github.com/apache/flink/pull/16348#discussion_r669260682
########## File path: docs/data/sql_functions_zh.yml ########## @@ -0,0 +1,820 @@ +# 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 + +comparison: + - sql: value1 = value2 + table: value1 === value2 + description: 如果 value1 等于 value2 返回 `TRUE`;如果 value1 或者 value2 为 NULL 返回 `UNKNOW`。 + - sql: value1 <> value2 + table: value1 !== value2 + description: 如果 value1 不等于 value2 返回 `TRUE`;如果 value1 或 value2 为 NULL 返回 `UNKNOWN`。 + - sql: value1 > value2 + table: value1 > value2 + description: 如果 value1 大于 value2 返回 `TRUE`;如果 value1 或 value2 为 NULL 返回 `UNKNOWN`。 + - sql: value1 >= value2 + table: value1 >= value2 + description: 如果 value1 大于或等于 value2 返回 `TRUE`;如果 value1 或 value2 为 NULL 返回 `UNKNOWN`。 + - sql: value1 < value2 + table: value1 < value2 + description: 如果 value1 小于 value2 返回 `TRUE`;如果 value1 或 value2 为 NULL 返回 `UNKNOWN`。 + - sql: value1 <= value2 + table: value1 <= value2 + description: 如果 value1 小于或等于 value2 返回 `TRUE`;如果 value1 或 value2 为 NULL 返回 `UNKNOWN`。 + - sql: value IS NULL + table: value.isNull + description: 如果值为 NULL 返回 `TRUE`。 + - sql: value IS NOT NULL + table: value.isNotNull + description: 如果值不为 NULL 返回 `TRUE`。 + - sql: value1 IS DISTINCT FROM value2 + description: | + A 和 B 的数据类型和值不完全相同返回 `TRUE`。A 和 B 的数据类型和值都相同返回 `FALSE`。将 NULL 视为相同。 + 例如 `1 IS DISTINCT FROM NULL` 返回 `TRUE`;`NULL IS DISTINCT FROM NULL` 返回 `FALSE`。 + - sql: value1 IS NOT DISTINCT FROM value2 + description: | + A 和 B 的数据类型和值都相同返回 `TRUE`。A 和 B 的数据类型和值不完全相同则返回 `FALSE`。将 NULL 视为相同。 + 例如 `1 IS NOT DISTINCT FROM NULL` 返回 `FALSE`;`NULL IS NOT DISTINCT FROM NULL` 返回 `TRUE`。 + - sql: value1 BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3 + description: | + 默认或使用 ASYMMETRIC 关键字的情况下,如果 value1 大于等于 value2 且小于等于 value3 返回 `TRUE`。 + 使用 SYMMETRIC 关键字则 value1 在 value2 和 value3 之间返回 `TRUE`。 + 当 value2 或 value3 为 NULL 时,返回 `FALSE` 或`UNKNOWN`。 + 例如 `12 BETWEEN 15 AND 12` 返回 `FALSE`; + `12 BETWEEN SYMMETRIC 15 AND 12` 返回 `TRUE`; + `12 BETWEEN 10 AND NULL` 返回 `UNKNOWN`; + `12 BETWEEN NULL AND 10` 返回 `FALSE`; + `12 BETWEEN SYMMETRIC NULL AND 12` 返回 `UNKNOWN`。 + - sql: value1 NOT BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3 + description: | + 默认或使用 ASYMMETRIC 关键字的情况下,如果 value1 小于 value2 或大于 value3,则返回 `TRUE`。 + 使用 SYMMETRIC 关键字则 value1 不在 value2 和 value3 之间返回 `TRUE`。 + 当 value2 或 value3 为 NULL 时,返回 `TRUE` 或 `UNKNOWN`。 + 例如 `12 NOT BETWEEN 15 AND 12` 返回 `TRUE`; + `12 NOT BETWEEN SYMMETRIC 15 AND 12` 返回 `FALSE`; + `12 NOT BETWEEN NULL AND 15` 返回 `UNKNOWN`; + `12 NOT BETWEEN 15 AND NULL` 返回 `TRUE`; + `12 NOT BETWEEN SYMMETRIC 12 AND NULL` 返回 `UNKNOWN`。 + - sql: string1 LIKE string2 [ ESCAPE char ] + table: string1.like(string2) + description: | + 如果 string1 匹配 string2 返回 `TRUE`;如果 string1 或 string2 为 NULL 返回 `UNKNOWN`。 + 如果需要可以定义转义字符。尚不支持转义字符。 + - sql: string1 NOT LIKE string2 [ ESCAPE char ] + description: | + 如果 string1 与 string2 不匹配返回 `TRUE`;如果 string1 或 string2 为 NULL 返回 `UNKNOWN`。 + 如果需要可以定义转义字符。尚不支持转义字符。 + - sql: string1 SIMILAR TO string2 [ ESCAPE char ] + table: string1.similar(string2) + description: | + 如果 string1 匹配 SQL 正则表达式 string2 返回 `TRUE`;如果 string1 或 string2 为 NULL 返回 + `UNKNOWN`。如果需要可以定义转义字符。尚不支持转义字符。 + - sql: string1 NOT SIMILAR TO string2 [ ESCAPE char ] + description: | + 如果 string1 与 SQL 正则表达式 string2 不匹配返回 `TRUE`;如果 string1 或 string2 为 NULL 返回 + `UNKNOWN`。如果需要可以定义转义字符。尚不支持转义字符。 + - sql: value1 IN (value2 [, value3]* ) + table: value1.in(valu2) + description: | + 在给定列表(value2,value3,...)中存在 value1 返回 `TRUE`。当列表包含 NULL,如果可以找到 value1 则返回 + `TRUE`,否则返回 `UNKNOWN`。如果 value1 为 NULL 则始终返回 `UNKNOWN`。例如 `4 IN (1, 2, 3)` 返回 + `FALSE`;`1 IN (1, 2, NULL)` 返回 `TRUE`;`4 IN (1, 2, NULL)` 返回 `UNKNOWN`。 + - sql: value1 NOT IN (value2 [, value3]* ) + description: | + 在给定列表(value2,value3,...)中不存在 value1 返回 `TRUE`。当列表包含 NULL,如果可以找到 value1 则 + 返回 `FALSE`,否则返回 `UNKNOWN`。如果 value1 为 NULL,则始终返回 `UNKNOWN`。例如 `4 NOT IN (1, 2, 3)` + 返回 `TRUE`;`1 NOT IN (1, 2, NULL)` 返回 `FALSE`;`4 NOT IN (1, 2, NULL)` 返回 `UNKNOWN`。 + - sql: EXISTS (sub-query) + description: | + 如果子查询至少返回一行返回 `TRUE`。 仅支持可以在 join 和分组操作中可以被重写的操作。 对于流式查询,该操作在 join + 和分组操作中被重写。 根据输入行的数量计算查询结果所需的状态可能会无限增长。 + 请提供具有有效保留间隔的查询配置,以防止状态过大。 + - sql: value IN (sub-query) + table: value1.in(TABLE) + description: 如果 value 等于子查询返回的行返回 `TRUE`。 + - sql: value NOT IN (sub-query) + description: 如果 value 不等于子查询返回的行返回 `TRUE`。 + - table: value1.between(value2, value3) + description: | + 如果 value1 大于或等于 value2 且小于或等于 value3 返回 `TRUE`。当 value2 或 value3 为 NULL 时, + 返回 `FALSE` 或 `UNKNOWN`。 + - table: value1.notBetween(value2, value3) + description: | + 如果 value1 大于或等于 value2 且小于或等于 value3 返回 `FALSE`。当 value2 或 value3 为 NULL 时, + 返回 `TRUE` 或 `UNKNOWN`。 + +logical: + - sql: boolean1 OR boolean2 + table: BOOLEAN1 || BOOLEAN2 + description: | + 如果 boolean1 为 `TRUE` 或 boolean2 为 `TRUE` 返回 TRUE。支持三值逻辑。 + 例如 `true || Null(BOOLEAN)` 返回 `TRUE`。 + - sql: boolean1 AND boolean2 + table: BOOLEAN1 && BOOLEAN2 + description: | + 如果 boolean1 和 boolean2 都为 `TRUE` 返回 TRUE。支持三值逻辑。 + 例如 `true && Null(BOOLEAN)` 返回 `UNKNOWN`。 + - sql: NOT boolean + table: '!BOOLEAN' + description: | + 如果布尔值为 `FALSE` 返回 `TRUE`;如果布尔值为 `TRUE` 返回 `FALSE`;如果布尔值为 `UNKNOWN` + 返回 `UNKNOWN`。 + - sql: boolean IS FALSE + table: BOOLEAN.isFalse + description: 如果布尔值为 `FALSE` 返回 `TRUE`;如果 boolean 为 `TRUE` 或 `UNKNOWN` 返回 `FALSE`。 + - sql: boolean IS NOT FALSE + table: BOOLEAN.isNotFalse + description: 如果 boolean 为 `TRUE` 或 `UNKNOWN` 返回 `TRUE`;如果 boolean 为 `FALSE` 返回 `FALSE`。 + - sql: boolean IS TRUE + table: BOOLEAN.isTrue + description: 如果 boolean 为 `TRUE` 返回 `TRUE`;如果 boolean 为 `FALSE` 或 `UNKNOWN` 返回 `FALSE`。 + - sql: boolean IS NOT TRUE + table: BOOLEAN.isNotTrue + description: 如果 boolean 为 `FALSE` 或 `UNKNOWN` 返回 `TRUE`;如果布尔值为 `TRUE` 返回 `FALSE`。 + - sql: boolean IS UNKNOWN + description: 如果布尔值为 `UNKNOWN` 返回 `TRUE`;如果 boolean 为 `TRUE` 或 `FALSE` 返回 `FALSE`。 + - sql: boolean IS NOT UNKNOWN + description: 如果 boolean 为 `TRUE` 或 `FALSE` 返回 `TRUE`;如果布尔值为 `UNKNOWN` 返回 `FALSE`。 + +arithmetic: + - sql: + numeric + table: + NUMERIC + description: 返回数字。 + - sql: '- numeric' + table: '- NUMERIC' + description: 返回负数值. + - sql: numeric1 + numeric2 + table: NUMERIC1 + NUMERIC2 + description: 返回 numeric1 加 numeric2。 + - sql: numeric1 - numeric2 + table: NUMERIC1 + NUMERIC2 + description: 返回 numeric1 减 numeric2。 + - sql: numeric1 * numberic2 + table: NUMERIC1 * NUMERIC2 + description: 返回 numeric1 乘以 numeric2。 + - sql: numeric1 / numeric2 + table: NUMERIC1 / NUMERIC2 + description: 返回 numeric1 除以 numeric2。 + - sql: numeric1 % numeric2 + table: MOD(NUMERIC1, NUMERIC2) + description: 返回 numeric1 除以 numeric2 的余数(模数)。仅当 numeric1 为负时,结果才为负。 + - sql: POWER(numeric1, numeric2) + table: NUMERIC1.power(NUMERIC2) + description: 返回 numeric1 的 numeric2 次方。 + - sql: ABS(numeric) + table: NUMERIC.abs() + description: 返回 numeric 的绝对值。 + - sql: SQRT(numeric) + table: NUMERIC.sqrt() + description: 返回 numeric 的平方根。 + - sql: LN(numeric) + table: NUMERIC.ln() + description: 返回 numeric 的自然对数(以 e 为底)。 + - sql: LOG10(numeric) + table: NUMERIC.log10() + description: 返回以 10 为底的数字对数。 + - sql: LOG2(numeric) + table: NUMERIC.log2() + description: 返回以 2 为底的数字对数。 + - sql: | + LOG(numeric2) + LOG(numeric1, numeric2) + table: | + NUMERIC1.log() + NUMERIC1.log(NUMERIC2) + description: | + 当用一个参数调用时,返回 numeric2 的自然对数。当使用两个参数调用时,此函数返回 numeric2 以 numeric1 + 为底的对数。numeric2 必须大于 0,numeric1 必须大于 1。 + - sql: EXP(numeric) + table: NUMERIC.exp() + description: 返回 e 的 numeric 次幂。 + - sql: | + CEIL(numeric) + CEILING(numeric) + table: | + NUMERIC.ceil() + NUMERIC.ceiling() + description: 向上舍入数字,并返回大于或等于数字的最小数字。 + - sql: FLOOR(numeric) + table: NUMERIC.floor() + description: 向下舍入数字,并返回小于或等于数字的最大数字。 + - sql: SIN(numeric) + table: NUMERIC.sin() + description: 返回数字的正弦值。 + - sql: SINH(numeric) + table: NUMERIC.sinh() + description: 返回数值的双曲正弦值。返回类型为 DOUBLE。 + - sql: COS(numeric) + table: NUMERIC.cos() + description: 返回数值的余弦值。 + - sql: TAN(numeric) + table: NUMERIC.tan() + description: 返回数值的正切值。 + - sql: TANH(numeric) + table: NUMERIC.tanh() + description: 返回数值的双曲正切值。返回类型为 DOUBLE。 + - sql: COT(numeric) + table: NUMERIC.cot() + description: 返回数字的余切值。 + - sql: ASIN(numeric) + table: NUMERIC.asin() + description: 返回数值的反正弦值。 + - sql: ACOS(numeric) + table: NUMERIC.acos() + description: 返回数值的反余弦值。 + - sql: ATAN(numeric) + table: NUMERIC.atan() + description: 返回数值的反正切值。 + - sql: ATAN2(numeric1, numeric2) + table: atan2(NUMERIC1, NUMERIC2) + description: 返回坐标 (numeric1, numeric2) 的反正切。 + - sql: COSH(numeric) + table: NUMERIC.cosh() + description: 返回 numeric 的双曲余弦值。返回值类型为 DOUBLE。 + - sql: DEGREES(numeric) + table: NUMERIC.degrees() + description: 返回弧度 numeric 的度数表示。 + - sql: RADIANS(numeric) + table: NUMERIC.radians() + description: 返回度数 numeric 的弧度表示。 + - sql: SIGN(numeric) + table: NUMERIC.sign() + description: 返回 numeric 的符号。 + - sql: ROUND(numeric, INT) + table: NUMERIC.round(INT) + description: 返回四舍五入到 NUMERIC 的 INT 小数位的数字。 + - sql: PI() + table: pi() + description: 返回一个比任何其他值更接近 pi 的值。 + - sql: E() + table: e() + description: 返回一个比任何其他值更接近 e 的值。 + - sql: RAND() + table: rand() + description: 返回 [0.0, 1.0) 范围内的伪随机双精度值。 + - sql: RAND(INT) + table: rand(INT) + description: | + 返回范围为 [0.0, 1.0) 的伪随机双精度值,带有初始种子整数。 Review comment: I made it to `返回范围为 [0.0, 1.0) 的伪随机双精度值,初始种子为 INT。` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
