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

corgy pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 555f6c6096 [Improve][Doc] Update sql function result type 
(apache#9703) (#9711)
555f6c6096 is described below

commit 555f6c6096a46c7ad3d9a022b42b0008e6a460e1
Author: Parkjihun <[email protected]>
AuthorDate: Sun Aug 24 18:37:20 2025 +0900

    [Improve][Doc] Update sql function result type (apache#9703) (#9711)
---
 docs/en/transform-v2/sql-functions.md | 291 +++++++++++++++++-----------------
 docs/zh/transform-v2/sql-functions.md | 252 ++++++++++++++---------------
 2 files changed, 274 insertions(+), 269 deletions(-)

diff --git a/docs/en/transform-v2/sql-functions.md 
b/docs/en/transform-v2/sql-functions.md
index cde05da61d..17c314d3a7 100644
--- a/docs/en/transform-v2/sql-functions.md
+++ b/docs/en/transform-v2/sql-functions.md
@@ -6,9 +6,9 @@
 
 ### ASCII
 
-```ASCII(string)```
+```ASCII(string) -> INT```
 
-Returns the ```ASCII``` value of the first character in the string. This 
method returns an int.
+Returns the ```ASCII``` value of the first character in the string.
 
 Example:
 
@@ -16,9 +16,9 @@ ASCII('Hi')
 
 ### BIT_LENGTH
 
-```BIT_LENGTH(bytes)```
+```BIT_LENGTH(bytes) -> LONG```
 
-Returns the number of bits in a binary string. This method returns a long.
+Returns the number of bits in a binary string.
 
 Example:
 
@@ -26,9 +26,9 @@ BIT_LENGTH(NAME)
 
 ### CHAR_LENGTH / LENGTH
 
-```CHAR_LENGTH | LENGTH (string)```
+```CHAR_LENGTH | LENGTH(string) -> LONG```
 
-Returns the number of characters in a character string. This method returns a 
long.
+Returns the number of characters in a character string.
 
 Example:
 
@@ -36,9 +36,9 @@ CHAR_LENGTH(NAME)
 
 ### OCTET_LENGTH
 
-```OCTET_LENGTH(bytes)```
+```OCTET_LENGTH(bytes) -> LONG```
 
-Returns the number of bytes in a binary string. This method returns a long.
+Returns the number of bytes in a binary string.
 
 Example:
 
@@ -46,9 +46,9 @@ OCTET_LENGTH(NAME)
 
 ### CHAR / CHR
 
-```CHAR | CHR (int)```
+```CHAR | CHR (int) -> STRING```
 
-Returns the character that represents the ASCII value. This method returns a 
string.
+Returns the character that represents the ASCII value.
 
 Example:
 
@@ -56,9 +56,9 @@ CHAR(65)
 
 ### CONCAT
 
-```CONCAT(string, string[, string ...] )```
+```CONCAT(string, string[, string...]) -> STRING```
 
-Combines strings. Unlike with the operator ```||```, **NULL** parameters are 
ignored, and do not cause the result to become **NULL**. If all parameters are 
NULL the result is an empty string. This method returns a string.
+Combines strings. Unlike with the operator ```||```, **NULL** parameters are 
ignored, and do not cause the result to become **NULL**. If all parameters are 
NULL the result is an empty string.
 
 Example:
 
@@ -66,9 +66,9 @@ CONCAT(NAME, '_')
 
 ### CONCAT_WS
 
-```CONCAT_WS(separatorString, string, string[, string ...] )```
+```CONCAT_WS(separatorString, string, string[, string...]) -> STRING```
 
-Combines strings with separator. If separator is **NULL** it is treated like 
an empty string. Other **NULL** parameters are ignored. Remaining **non-NULL** 
parameters, if any, are concatenated with the specified separator. If there are 
no remaining parameters the result is an empty string. This method returns a 
string.
+Combines strings with separator. If separator is **NULL** it is treated like 
an empty string. Other **NULL** parameters are ignored. Remaining **non-NULL** 
parameters, if any, are concatenated with the specified separator. If there are 
no remaining parameters the result is an empty string.
 
 Example:
 
@@ -76,7 +76,7 @@ CONCAT_WS(',', NAME, '_')
 
 ### HEXTORAW
 
-```HEXTORAW(string)```
+```HEXTORAW(string) -> STRING```
 
 Converts a hex representation of a string to a string. 4 hex characters per 
string character are used.
 
@@ -86,11 +86,9 @@ HEXTORAW(DATA)
 
 ### RAWTOHEX
 
-```RAWTOHEX(string)```
+```RAWTOHEX(string | bytes) -> STRING```
 
-```RAWTOHEX(bytes)```
-
-Converts a string or bytes to the hex representation. 4 hex characters per 
string character are used. This method returns a string.
+Converts a string or bytes to the hex representation. 4 hex characters per 
string character are used.
 
 Example:
 
@@ -98,9 +96,9 @@ RAWTOHEX(DATA)
 
 ### INSERT
 
-```INSERT(originalString, startInt, lengthInt, addString)```
+```INSERT(originalString, startInt, lengthInt, addString) -> STRING```
 
-Inserts a additional string into the original string at a specified start 
position. The length specifies the number of characters that are removed at the 
start position in the original string. This method returns a string.
+Inserts an additional string into the original string at a specified start 
position. The length specifies the number of characters that are removed at the 
start position in the original string.
 
 Example:
 
@@ -108,7 +106,7 @@ INSERT(NAME, 1, 1, ' ')
 
 ### LOWER / LCASE
 
-```LOWER | LCASE (string)```
+```LOWER | LCASE(string) -> STRING```
 
 Converts a string to lowercase.
 
@@ -118,7 +116,7 @@ LOWER(NAME)
 
 ### UPPER / UCASE
 
-```UPPER | UCASE (string)```
+```UPPER | UCASE(string) -> STRING```
 
 Converts a string to uppercase.
 
@@ -128,7 +126,7 @@ UPPER(NAME)
 
 ### LEFT
 
-```LEFT(string, int)```
+```LEFT(string, int) -> STRING```
 
 Returns the leftmost number of characters.
 
@@ -138,7 +136,7 @@ LEFT(NAME, 3)
 
 ### RIGHT
 
-```RIGHT(string, int)```
+```RIGHT(string, int) -> STRING```
 
 Returns the rightmost number of characters.
 
@@ -148,11 +146,11 @@ RIGHT(NAME, 3)
 
 ### LOCATE / INSTR / POSITION
 
-```LOCATE(searchString, string[, startInit])```
+```LOCATE(searchString, string[, startInt]) -> INT```
 
-```INSTR(string, searchString[, startInit])```
+```INSTR(string, searchString[, startInt]) -> INT```
 
-```POSITION(searchString, string)```
+```POSITION(searchString, string) -> INT```
 
 Returns the location of a search string in a string. If a start position is 
used, the characters before it are ignored. If position is negative, the 
rightmost location is returned. 0 is returned if the search string is not 
found. Please note this function is case sensitive, even if the parameters are 
not.
 
@@ -162,7 +160,7 @@ LOCATE('.', NAME)
 
 ### LPAD
 
-```LPAD(string ,int[, string])```
+```LPAD(string, int[, string]) -> STRING```
 
 Left pad the string to the specified length. If the length is shorter than the 
string, it will be truncated at the end. If the padding string is not set, 
spaces will be used.
 
@@ -172,7 +170,7 @@ LPAD(AMOUNT, 10, '*')
 
 ### RPAD
 
-```RPAD(string, int[, string])```
+```RPAD(string, int[, string]) -> STRING```
 
 Right pad the string to the specified length. If the length is shorter than 
the string, it will be truncated. If the padding string is not set, spaces will 
be used.
 
@@ -182,7 +180,7 @@ RPAD(TEXT, 10, '-')
 
 ### LTRIM
 
-```LTRIM(string[, characterToTrimString])```
+```LTRIM(string[, characterToTrimString]) -> STRING```
 
 Removes all leading spaces or other specified characters from a string.
 
@@ -192,7 +190,7 @@ LTRIM(NAME)
 
 ### RTRIM
 
-```RTRIM(string[, characterToTrimString])```
+```RTRIM(string[, characterToTrimString]) -> STRING```
 
 Removes all trailing spaces or other specified characters from a string.
 
@@ -202,7 +200,7 @@ RTRIM(NAME)
 
 ### TRIM
 
-```TRIM(string[, characterToTrimString])```
+```TRIM(string[, characterToTrimString]) -> STRING```
 
 Removes all leading spaces and trailing spaces or other specified characters 
from a string.
 
@@ -212,7 +210,7 @@ TRIM(NAME)
 
 ### REGEXP_REPLACE
 
-```REGEXP_REPLACE(inputString, regexString, replacementString[, 
flagsString])```
+```REGEXP_REPLACE(inputString, regexString, replacementString[, flagsString]) 
-> STRING```
 
 Replaces each substring that matches a regular expression. For details, see 
the Java String.replaceAll() method. If any parameter is null (except optional 
flagsString parameter), the result is null.
 
@@ -233,7 +231,7 @@ REGEXP_REPLACE('Hello WWWWorld', 'w+', 'W', 'i')
 
 ### REGEXP_LIKE
 
-```REGEXP_LIKE(inputString, regexString[, flagsString])```
+```REGEXP_LIKE(inputString, regexString[, flagsString]) -> BOOLEAN```
 
 Matches string to a regular expression. For details, see the Java 
Matcher.find() method. If any parameter is null (except optional flagsString 
parameter), the result is null.
 
@@ -253,7 +251,7 @@ REGEXP_LIKE('Hello    World', '[A-Z ]*', 'i')
 
 ### REGEXP_SUBSTR
 
-```REGEXP_SUBSTR(inputString, regexString[, positionInt, occurrenceInt, 
flagsString, groupInt])```
+```REGEXP_SUBSTR(inputString, regexString[, positionInt, occurrenceInt, 
flagsString, groupInt]) -> STRING```
 
 Matches string to a regular expression and returns the matched substring. For 
details, see the java.util.regex.Pattern and related functionality.
 
@@ -278,7 +276,7 @@ REGEXP_SUBSTR('2020-10-01', '(\d{4})-(\d{2})-(\d{2})', 1, 
1, NULL, 2)
 
 ### REPEAT
 
-```REPEAT(string, int)```
+```REPEAT(string, int) -> STRING```
 
 Returns a string repeated some number of times.
 
@@ -288,7 +286,7 @@ REPEAT(NAME || ' ', 10)
 
 ### REPLACE
 
-```REPLACE(string, searchString[, replacementString])```
+```REPLACE(string, searchString[, replacementString]) -> STRING```
 
 Replaces all occurrences of a search string in a text with another string. If 
no replacement is specified, the search string is removed from the original 
string. If any parameter is null, the result is null.
 
@@ -298,6 +296,8 @@ REPLACE(NAME, ' ')
 
 ### SPLIT
 
+```SPLIT(string, delimiterString) -> ARRAY<STRING>```
+
 Split a string into an array.
 
 Example:
@@ -306,7 +306,7 @@ select SPLIT(test,';') as arrays
 
 ### SOUNDEX
 
-```SOUNDEX(string)```
+```SOUNDEX(string) -> STRING```
 
 Returns a four character code representing the sound of a string. This method 
returns a string, or null if parameter is null. See 
https://en.wikipedia.org/wiki/Soundex for more information.
 
@@ -316,7 +316,7 @@ SOUNDEX(NAME)
 
 ### SPACE
 
-```SPACE(int)```
+```SPACE(int) -> STRING```
 
 Returns a string consisting of a number of spaces.
 
@@ -326,7 +326,7 @@ SPACE(80)
 
 ### SUBSTRING / SUBSTR
 
-```SUBSTRING | SUBSTR (string, startInt[, lengthInt ])```
+```SUBSTRING | SUBSTR(string, startInt[, lengthInt ]) -> STRING```
 
 Returns a substring of a string starting at a position. If the start index is 
negative, then the start index is relative to the end of the string. The length 
is optional.
 
@@ -337,7 +337,7 @@ CALL SUBSTRING('hour', 3, 2);
 
 ### TO_CHAR
 
-```TO_CHAR(value[, formatString])```
+```TO_CHAR(value[, formatString]) -> STRING```
 
 Oracle-compatible TO_CHAR function that can format a timestamp, a number, or 
text.
 
@@ -347,7 +347,7 @@ CALL TO_CHAR(SYS_TIME, 'yyyy-MM-dd HH:mm:ss')
 
 ### TRANSLATE
 
-```TRANSLATE(value, searchString, replacementString)```
+```TRANSLATE(value, searchString, replacementString) -> STRING```
 
 Oracle-compatible TRANSLATE function that replaces a sequence of characters in 
a string with another set of characters.
 
@@ -359,7 +359,7 @@ CALL TRANSLATE('Hello world', 'eo', 'EO')
 
 ### ABS
 
-```ABS(numeric)```
+```ABS(numeric) -> NUMERIC (same type)```
 
 Returns the absolute value of a specified value. The returned value is of the 
same data type as the parameter.
 
@@ -371,9 +371,9 @@ ABS(I)
 
 ### ACOS
 
-```ACOS(numeric)```
+```ACOS(numeric) -> DOUBLE```
 
-Calculate the arc cosine. See also Java Math.acos. This method returns a 
double.
+Calculate the arc cosine. See also Java Math.acos.
 
 Example:
 
@@ -381,7 +381,7 @@ ACOS(D)
 
 ### ARRAY_MAX
 
-```ARRAY_MAX(ARRAY)```
+```ARRAY_MAX(ARRAY) -> type(array element)```
 
 The MAX function returns the maximum value of the expression.
 
@@ -391,7 +391,7 @@ ARRAY_MAX(I)
 
 ### ARRAY_MIN
 
-```ARRAY_MIN(ARRAY)```
+```ARRAY_MIN(ARRAY) -> type(array element)```
 
 The MIN function returns the minimum value of the expression.
 
@@ -401,9 +401,9 @@ ARRAY_MIN(I)
 
 ### ASIN
 
-```ASIN(numeric)```
+```ASIN(numeric) -> DOUBLE```
 
-Calculate the arc sine. See also Java Math.asin. This method returns a double.
+Calculate the arc sine. See also Java Math.asin.
 
 Example:
 
@@ -411,9 +411,9 @@ ASIN(D)
 
 ### ATAN
 
-```ATAN(numeric)```
+```ATAN(numeric) -> DOUBLE```
 
-Calculate the arc tangent. See also Java Math.atan. This method returns a 
double.
+Calculate the arc tangent. See also Java Math.atan.
 
 Example:
 
@@ -421,9 +421,9 @@ ATAN(D)
 
 ### COS
 
-```COS(numeric)```
+```COS(numeric) -> DOUBLE```
 
-Calculate the trigonometric cosine. See also Java Math.cos. This method 
returns a double.
+Calculate the trigonometric cosine. See also Java Math.cos.
 
 Example:
 
@@ -431,9 +431,9 @@ COS(ANGLE)
 
 ### COSH
 
-```COSH(numeric)```
+```COSH(numeric) -> DOUBLE```
 
-Calculate the hyperbolic cosine. See also Java Math.cosh. This method returns 
a double.
+Calculate the hyperbolic cosine. See also Java Math.cosh.
 
 Example:
 
@@ -441,9 +441,9 @@ COSH(X)
 
 ### COT
 
-```COT(numeric)```
+```COT(numeric) -> DOUBLE```
 
-Calculate the trigonometric cotangent (1/TAN(ANGLE)). See also Java Math.* 
functions. This method returns a double.
+Calculate the trigonometric cotangent (1/TAN(ANGLE)). See also Java Math.* 
functions.
 
 Example:
 
@@ -451,9 +451,9 @@ COT(ANGLE)
 
 ### SIN
 
-```SIN(numeric)```
+```SIN(numeric) -> DOUBLE```
 
-Calculate the trigonometric sine. See also Java Math.sin. This method returns 
a double.
+Calculate the trigonometric sine. See also Java Math.sin.
 
 Example:
 
@@ -461,9 +461,9 @@ SIN(ANGLE)
 
 ### SINH
 
-```SINH(numeric)```
+```SINH(numeric) -> DOUBLE```
 
-Calculate the hyperbolic sine. See also Java Math.sinh. This method returns a 
double.
+Calculate the hyperbolic sine. See also Java Math.sinh.
 
 Example:
 
@@ -471,9 +471,9 @@ SINH(ANGLE)
 
 ### TAN
 
-```TAN(numeric)```
+```TAN(numeric) -> DOUBLE```
 
-Calculate the trigonometric tangent. See also Java Math.tan. This method 
returns a double.
+Calculate the trigonometric tangent. See also Java Math.tan.
 
 Example:
 
@@ -481,9 +481,9 @@ TAN(ANGLE)
 
 ### TANH
 
-```TANH(numeric)```
+```TANH(numeric) -> DOUBLE```
 
-Calculate the hyperbolic tangent. See also Java Math.tanh. This method returns 
a double.
+Calculate the hyperbolic tangent. See also Java Math.tanh.
 
 Example:
 
@@ -491,11 +491,11 @@ TANH(X)
 
 ### MOD
 
-```MOD(dividendNumeric, divisorNumeric )```
+```MOD(dividendNumeric, divisorNumeric ) -> type(divisorNumeric)```
 
 The modulus expression.
 
-Result has the same type as divisor. Result is NULL if either of arguments is 
NULL. If divisor is 0, an exception is raised. Result has the same sign as 
dividend or is equal to 0.
+Result is NULL if either of arguments is NULL. If divisor is 0, an exception 
is raised. Result has the same sign as dividend or is equal to 0.
 
 Usually arguments should have scale 0, but it isn't required by H2.
 
@@ -505,7 +505,7 @@ MOD(A, B)
 
 ### CEIL / CEILING
 
-```CEIL | CEILING (numeric)```
+```CEIL | CEILING (numeric) -> NUMERIC (same type, scale 0)```
 
 Returns the smallest integer value that is greater than or equal to the 
argument. This method returns value of the same type as argument, but with 
scale set to 0 and adjusted precision, if applicable.
 
@@ -515,9 +515,9 @@ CEIL(A)
 
 ### EXP
 
-```EXP(numeric)```
+```EXP(numeric) -> DOUBLE```
 
-See also Java Math.exp. This method returns a double.
+See also Java Math.exp.
 
 Example:
 
@@ -525,7 +525,7 @@ EXP(A)
 
 ### FLOOR
 
-```FLOOR(numeric)```
+```FLOOR(numeric) -> NUMERIC (same type, scale 0)```
 
 Returns the largest integer value that is less than or equal to the argument. 
This method returns value of the same type as argument, but with scale set to 0 
and adjusted precision, if applicable.
 
@@ -535,9 +535,9 @@ FLOOR(A)
 
 ### LN
 
-```LN(numeric)```
+```LN(numeric) -> DOUBLE```
 
-Calculates the natural (base e) logarithm as a double value. Argument must be 
a positive numeric value.
+Calculates the natural (base e) logarithm. Argument must be a positive numeric 
value.
 
 Example:
 
@@ -545,9 +545,9 @@ LN(A)
 
 ### LOG
 
-```LOG(baseNumeric, numeric)```
+```LOG(baseNumeric, numeric) -> DOUBLE```
 
-Calculates the logarithm with specified base as a double value. Argument and 
base must be positive numeric values. Base cannot be equal to 1.
+Calculates the logarithm with specified base. Argument and base must be 
positive numeric values. Base cannot be equal to 1.
 
 The default base is e (natural logarithm), in the PostgreSQL mode the default 
base is base 10. In MSSQLServer mode the optional base is specified after the 
argument.
 
@@ -559,9 +559,9 @@ LOG(2, A)
 
 ### LOG10
 
-```LOG10(numeric)```
+```LOG10(numeric) -> DOUBLE```
 
-Calculates the base 10 logarithm as a double value. Argument must be a 
positive numeric value.
+Calculates the base 10 logarithm. Argument must be a positive numeric value.
 
 Example:
 
@@ -569,9 +569,9 @@ LOG10(A)
 
 ### RADIANS
 
-```RADIANS(numeric)```
+```RADIANS(numeric) -> DOUBLE```
 
-See also Java Math.toRadians. This method returns a double.
+See also Java Math.toRadians.
 
 Example:
 
@@ -579,9 +579,9 @@ RADIANS(A)
 
 ### SQRT
 
-```SQRT(numeric)```
+```SQRT(numeric) -> DOUBLE```
 
-See also Java Math.sqrt. This method returns a double.
+See also Java Math.sqrt.
 
 Example:
 
@@ -589,9 +589,9 @@ SQRT(A)
 
 ### PI
 
-```PI()```
+```PI() -> DOUBLE```
 
-See also Java Math.PI. This method returns a double.
+See also Java Math.PI.
 
 Example:
 
@@ -599,9 +599,9 @@ PI()
 
 ### POWER
 
-```POWER(numeric, numeric)```
+```POWER(numeric, numeric) -> DOUBLE```
 
-See also Java Math.pow. This method returns a double.
+See also Java Math.pow.
 
 Example:
 
@@ -609,7 +609,7 @@ POWER(A, B)
 
 ### RAND / RANDOM
 
-```RAND | RANDOM([ int ])```
+```RAND | RANDOM([ int ]) -> DOUBLE```
 
 Calling the function without parameter returns the next a pseudo random 
number. Calling it with an parameter seeds the session's random number 
generator. This method returns a double between 0 (including) and 1 (excluding).
 
@@ -619,7 +619,7 @@ RAND()
 
 ### ROUND
 
-```ROUND(numeric[, digitsInt])```
+```ROUND(numeric[, digitsInt]) -> NUMERIC (same type)```
 
 Rounds to a number of fractional digits. This method returns value of the same 
type as argument, but with adjusted precision and scale, if applicable.
 
@@ -629,7 +629,7 @@ ROUND(N, 2)
 
 ### SIGN
 
-```SIGN(numeric)```
+```SIGN(numeric) -> INT```
 
 Returns -1 if the value is smaller than 0, 0 if zero or NaN, and otherwise 1.
 
@@ -639,7 +639,7 @@ SIGN(N)
 
 ### TRUNC
 
-```TRUNC | TRUNCATE(numeric[, digitsInt])```
+```TRUNC | TRUNCATE(numeric[, digitsInt]) -> NUMERIC (same type)```
 
 When a numeric argument is specified, truncates it to a number of digits (to 
the next value closer to 0) and returns value of the same type as argument, but 
with adjusted precision and scale, if applicable.
 
@@ -649,9 +649,9 @@ TRUNC(N, 2)
 
 ### TRIM_SCALE
 
-```TRIM_SCALE(numeric)```
+```TRIM_SCALE(numeric) -> NUMERIC (same type)```
 
-Reduce the scale of a number by removing trailing zeroes. This method returns 
a value of string, and with adjusted scale.
+Reduce the scale of a number by removing trailing zeroes. The scale is 
adjusted accordingly.
 
 Example:
 
@@ -661,7 +661,7 @@ TRIM_SCALE(N)
 
 ### CURRENT_DATE
 
-```CURRENT_DATE [()]```
+```CURRENT_DATE [()] -> DATE```
 
 Returns the current date.
 
@@ -673,7 +673,7 @@ CURRENT_DATE
 
 ### CURRENT_TIME
 
-```CURRENT_TIME [()]```
+```CURRENT_TIME [()] -> TIME```
 
 Returns the current time with system time zone. The actual maximum available 
precision depends on operating system and JVM and can be 3 (milliseconds) or 
higher. Higher precision is not available before Java 9.
 
@@ -683,7 +683,7 @@ CURRENT_TIME
 
 ### CURRENT_TIMESTAMP / NOW
 
-```CURRENT_TIMESTAMP[()] | NOW()```
+```CURRENT_TIMESTAMP[()] | NOW() -> TIMESTAMP```
 
 Returns the current timestamp with system time zone. The actual maximum 
available precision depends on operating system and JVM and can be 3 
(milliseconds) or higher. Higher precision is not available before Java 9.
 
@@ -693,7 +693,7 @@ CURRENT_TIMESTAMP
 
 ### DATEADD / TIMESTAMPADD
 
-```DATEADD| TIMESTAMPADD(dateAndTime, addIntLong, datetimeFieldString)```
+```DATEADD | TIMESTAMPADD(dateAndTime, addIntLong, datetimeFieldString) -> 
type(dateAndTime)```
 
 Adds units to a date-time value. The datetimeFieldString indicates the unit. 
Use negative values to subtract units. addIntLong may be a long value when 
manipulating milliseconds, microseconds, or nanoseconds otherwise its range is 
restricted to int. This method returns a value with the same type as specified 
value if unit is compatible with this value. If specified field is a HOUR, 
MINUTE, SECOND, MILLISECOND, etc and value is a DATE value DATEADD returns 
combined TIMESTAMP. Fields DAY,  [...]
 
@@ -703,9 +703,9 @@ DATEADD(CREATED, 1, 'MONTH')
 
 ### DATEDIFF
 
-```DATEDIFF(aDateAndTime, bDateAndTime, datetimeFieldString)```
+```DATEDIFF(aDateAndTime, bDateAndTime, datetimeFieldString) -> LONG```
 
-Returns the number of crossed unit boundaries between two date-time values. 
This method returns a long. The datetimeField indicates the unit.
+Returns the number of crossed unit boundaries between two date-time values. 
The datetimeField indicates the unit.
 
 Example:
 
@@ -713,17 +713,17 @@ DATEDIFF(T1.CREATED, T2.CREATED, 'MONTH')
 
 ### DATE_TRUNC
 
-```DATE_TRUNC (dateAndTime, datetimeFieldString)```
+```DATE_TRUNC(dateAndTime, datetimeFieldString) -> dateAndTime (same type)```
 
 Truncates the specified date-time value to the specified field.
 
 Example:
 
-DATE_TRUNC(CREATED, 'DAY');
+DATE_TRUNC(CREATED, 'DAY')
 
 ### DAYNAME
 
-```DAYNAME(dateAndTime)```
+```DAYNAME(dateAndTime) -> STRING```
 
 Returns the name of the day (in English).
 
@@ -733,7 +733,7 @@ DAYNAME(CREATED)
 
 ### DAY_OF_MONTH
 
-```DAY_OF_MONTH(dateAndTime)```
+```DAY_OF_MONTH(dateAndTime) -> INT```
 
 Returns the day of the month (1-31).
 
@@ -743,7 +743,7 @@ DAY_OF_MONTH(CREATED)
 
 ### DAY_OF_WEEK
 
-```DAY_OF_WEEK(dateAndTime)```
+```DAY_OF_WEEK(dateAndTime) -> INT```
 
 Returns the day of the week (1-7) (Monday-Sunday), locale-specific.
 
@@ -753,7 +753,7 @@ DAY_OF_WEEK(CREATED)
 
 ### DAY_OF_YEAR
 
-```DAY_OF_YEAR(dateAndTime)```
+```DAY_OF_YEAR(dateAndTime) -> INT```
 
 Returns the day of the year (1-366).
 
@@ -763,7 +763,7 @@ DAY_OF_YEAR(CREATED)
 
 ### EXTRACT
 
-```EXTRACT ( datetimeField FROM dateAndTime)```
+```EXTRACT(datetimeField FROM dateAndTime) -> INT | NUMERIC```
 
 Returns a value of the specific time unit from a date/time value. This method 
returns a numeric value with EPOCH field and an int for all other fields.
 
@@ -791,24 +791,24 @@ The following are valid field names for EXTRACT:
 The EXTRACT function supports all four DateTime literal types:
 
 - `DATE`: For extracting date components from a date literal
-  ```sql
-  EXTRACT(YEAR FROM DATE '2025-05-21')
-  ```
+ ```sql
+ EXTRACT(YEAR FROM DATE '2025-05-21')
+ ```
 
 - `TIME`: For extracting time components from a time literal
-  ```sql
-  EXTRACT(HOUR FROM TIME '17:57:40')
-  ```
+ ```sql
+ EXTRACT(HOUR FROM TIME '17:57:40')
+ ```
 
 - `TIMESTAMP`: For extracting date and time components from a timestamp literal
-  ```sql
-  EXTRACT(YEAR FROM TIMESTAMP '2025-05-21T17:57:40')
-  ```
+ ```sql
+ EXTRACT(YEAR FROM TIMESTAMP '2025-05-21T17:57:40')
+ ```
 
 - `TIMESTAMP WITH TIMEZONE`: For extracting components from a timestamp with 
timezone literal
-  ```sql
-  EXTRACT(HOUR FROM TIMESTAMPTZ '2025-05-21T17:57:40+08:00')
-  ```
+ ```sql
+ EXTRACT(HOUR FROM TIMESTAMPTZ '2025-05-21T17:57:40+08:00')
+ ```
 
 Examples:
 
@@ -823,19 +823,17 @@ EXTRACT(DOW FROM eventTime)
 
 ### FORMATDATETIME
 
-```FORMATDATETIME (dateAndTime, formatString)```
+```FORMATDATETIME(dateAndTime, formatString) -> STRING```
 
 Formats a date, time or timestamp as a string. The most important format 
characters are: y year, M month, d day, H hour, m minute, s second. For details 
of the format, see java.time.format.DateTimeFormatter.
 
-This method returns a string.
-
 Example:
 
 CALL FORMATDATETIME(CREATED, 'yyyy-MM-dd HH:mm:ss')
 
 ### HOUR
 
-```HOUR(dateAndTime)```
+```HOUR(dateAndTime) -> INT```
 
 Returns the hour (0-23) from a date/time value.
 
@@ -845,7 +843,7 @@ HOUR(CREATED)
 
 ### MINUTE
 
-```MINUTE(dateAndTime)```
+```MINUTE(dateAndTime) -> INT```
 
 Returns the minute (0-59) from a date/time value.
 
@@ -857,7 +855,7 @@ MINUTE(CREATED)
 
 ### MONTH
 
-```MONTH(dateAndTime)```
+```MONTH(dateAndTime) -> INT```
 
 Returns the month (1-12) from a date/time value.
 
@@ -869,7 +867,7 @@ MONTH(CREATED)
 
 ### MONTHNAME
 
-```MONTHNAME(dateAndTime)```
+```MONTHNAME(dateAndTime) -> STRING```
 
 Returns the name of the month (in English).
 
@@ -879,8 +877,8 @@ MONTHNAME(CREATED)
 
 ### IS_DATE
 
-```IS_DATE(string, formatString)```
-Parses a string and returns a boolean value. The most important format 
characters are: y year, M month, d day, H hour, m minute, s second. For details 
of the format, see java.time.format.DateTimeFormatter.
+```IS_DATE(string, formatString) -> BOOLEAN```
+Parses a string. The most important format characters are: y year, M month, d 
day, H hour, m minute, s second. For details of the format, see 
java.time.format.DateTimeFormatter.
 
 Example:
 
@@ -888,8 +886,8 @@ CALL IS_DATE('2021-04-08 13:34:45','yyyy-MM-dd HH:mm:ss')
 
 ### PARSEDATETIME / TO_DATE
 
-```PARSEDATETIME | TO_DATE(string, formatString)```
-Parses a string and returns a TIMESTAMP WITH TIME ZONE value. The most 
important format characters are: y year, M month, d day, H hour, m minute, s 
second. For details of the format, see java.time.format.DateTimeFormatter.
+```PARSEDATETIME | TO_DATE(string, formatString) -> TIMESTAMP```
+Parses a string. The most important format characters are: y year, M month, d 
day, H hour, m minute, s second. For details of the format, see 
java.time.format.DateTimeFormatter.
 
 Example:
 
@@ -899,7 +897,7 @@ Note that when filling in `'` in SQL functions, it needs to 
be escaped to `''`.
 
 ### QUARTER
 
-```QUARTER(dateAndTime)```
+```QUARTER(dateAndTime) -> INT```
 
 Returns the quarter (1-4) from a date/time value.
 
@@ -909,7 +907,7 @@ QUARTER(CREATED)
 
 ### SECOND
 
-```SECOND(dateAndTime)```
+```SECOND(dateAndTime) -> INT```
 
 Returns the second (0-59) from a date/time value.
 
@@ -921,7 +919,7 @@ SECOND(CREATED)
 
 ### WEEK
 
-```WEEK(dateAndTime)```
+```WEEK(dateAndTime) -> INT```
 
 Returns the week (1-53) from a date/time value.
 
@@ -933,7 +931,7 @@ WEEK(CREATED)
 
 ### YEAR
 
-```YEAR(dateAndTime)```
+```YEAR(dateAndTime) -> INT```
 
 Returns the year from a date/time value.
 
@@ -943,15 +941,14 @@ YEAR(CREATED)
 
 ### FROM_UNIXTIME
 
-```FROM_UNIXTIME (unixtime, formatString,timeZone)```
+```FROM_UNIXTIME(unixtime, formatString, timeZone) -> STRING```
 
 Convert the number of seconds from the UNIX epoch (1970-01-01 00:00:00 UTC) to 
a string representing the timestamp of that moment.
 
 The most important format characters are: y year, M month, d day, H hour, m 
minute, s second. For details of the format, see 
`java.time.format.DateTimeFormatter`.
 
-`timeZone` is optional, default value is system's time zone.  `timezone` value 
can be a `UTC+ timezone offset`, for example, `UTC+8` represents the 
Asia/Shanghai time zone, see `java.time.ZoneId`
+`timeZone` is optional, default value is system's time zone. `timezone` value 
can be a `UTC+ timezone offset`, for example, `UTC+8` represents the 
Asia/Shanghai time zone, see `java.time.ZoneId`
 
-This method returns a string.
 
 Example:
 
@@ -969,7 +966,7 @@ CALL FROM_UNIXTIME(1672502400, 'yyyy-MM-dd 
HH:mm:ss','UTC+6')
 
 ### CAST
 
-```CAST(value as dataType)```
+```CAST(value as dataType) -> dataType```
 
 Converts a value to another data type.
 
@@ -987,7 +984,7 @@ Converts a value to a BOOLEAN data type according to the 
following rules:
 
 ### TRY_CAST
 
-```TRY_CAST(value as dataType)```
+```TRY_CAST(value as dataType) -> dataType | NULL```
 
 This function is similar to CAST, but when the conversion fails, it returns 
NULL instead of throwing an exception.
 
@@ -999,7 +996,7 @@ TRY_CAST(NAME AS INT)
 
 ### COALESCE
 
-```COALESCE(aValue, bValue [,...])```
+```COALESCE(aValue, bValue [,...]) -> type(of first non-null arg)```
 
 Returns the first value that is not null. If subsequent arguments have 
different data types from the first argument, they will be automatically 
converted to the type of the first argument.
 
@@ -1017,7 +1014,7 @@ SELECT COALESCE(A, B) as result FROM my_table
 
 ### IFNULL
 
-```IFNULL(aValue, bValue)```
+```IFNULL(aValue, bValue) -> type(common of args)```
 
 Returns the first value that is not null. If subsequent arguments have 
different data types from the first argument, they will be automatically 
converted to the type of the first argument.
 
@@ -1027,7 +1024,7 @@ IFNULL(A, B)
 
 ### NULLIF
 
-```NULLIF(aValue, bValue)```
+```NULLIF(aValue, bValue) -> type(aValue) | NULL```
 
 Returns NULL if 'a' is equal to 'b', otherwise 'a'.
 
@@ -1037,7 +1034,7 @@ NULLIF(A, B)
 
 
 ### MULTI_IF
-```MULTI_IF(condition1, value1, condition2, value2, ... conditionN, valueN, 
bValue)```
+```MULTI_IF(condition1, value1, condition2, value2,... conditionN, valueN, 
bValue) -> type(of values)```
 
 returns the first value for which the corresponding condition is true. If all 
conditions are false, it returns the last value.
 
@@ -1046,6 +1043,8 @@ Example:
 MULTI_IF(A > 1, 'A', B > 1, 'B', C > 1, 'C', 'D')
 
 ### CASE WHEN
+```CASE WHEN <condition> THEN <expr> [WHEN...] [ELSE <expr>] END -> type(of 
result expressions)```
+Returns different values based on conditions.
 
 ```
 select
@@ -1102,7 +1101,7 @@ case when c_string in ('c_string') then true else false 
end
 
 ### UUID
 
-```UUID()```
+```UUID() -> STRING```
 
 Generate a uuid through java function.
 
@@ -1112,8 +1111,8 @@ select UUID() as seatunnel_uuid
 
 ### ARRAY
 
-```ARRAY<T> array(T, ...)```
-Create an array consisting of variadic elements and return it. Here, T can be 
either "column" or "literal".
+```ARRAY<T> array(T, ...) -> ARRAY<T>```
+Create an array consisting of variadic elements and return it. Here, T can be 
either “column” or “literal”.
 
 Example:
 
@@ -1125,6 +1124,8 @@ notes: Currently only string, double, long, int types are 
supported
 
 ### LATERAL VIEW
 #### EXPLODE
+```EXPLODE(array of T) -> rows(value: T)``` 
+```OUTER EXPLODE(array of T) -> rows(value: T | NULL)```
 
 Used to flatten array columns into multiple rows. It applies the EXPLODE 
function to an array and generates a new row for each element.
 
@@ -1143,4 +1144,4 @@ SELECT * FROM dual
        LATERAL VIEW EXPLODE ( SPLIT ( pk_id, ';' ) ) AS pk_id
        LATERAL VIEW OUTER EXPLODE ( age ) AS age
        LATERAL VIEW OUTER EXPLODE ( ARRAY(1,1) ) AS num
-```
+```
\ No newline at end of file
diff --git a/docs/zh/transform-v2/sql-functions.md 
b/docs/zh/transform-v2/sql-functions.md
index 6af5761939..6d3fadd034 100644
--- a/docs/zh/transform-v2/sql-functions.md
+++ b/docs/zh/transform-v2/sql-functions.md
@@ -6,9 +6,9 @@
 
 ### ASCII
 
-```ASCII(string)```
+```ASCII(string) -> INT```
 
-返回字符串中第一个字符的ASCII值。此方法返回一个整数。
+返回字符串中第一个字符的ASCII值。
 
 示例:
 
@@ -16,9 +16,9 @@ ASCII('Hi')
 
 ### BIT_LENGTH
 
-```BIT_LENGTH(bytes)```
+```BIT_LENGTH(bytes) -> LONG```
 
-返回二进制字符串中的位数。该方法返回一个长整型
+返回二进制字符串中的位数。
 
 示例:
 
@@ -26,9 +26,9 @@ BIT_LENGTH(NAME)
 
 ### CHAR_LENGTH / LENGTH
 
-```CHAR_LENGTH | LENGTH (string)```
+```CHAR_LENGTH | LENGTH (string) -> LONG```
 
-这个方法返回一个字符串中字符的数量,返回类型为 long。
+这个方法返回一个字符串中字符的数量。
 
 示例:
 
@@ -36,9 +36,9 @@ CHAR_LENGTH(NAME)
 
 ### OCTET_LENGTH
 
-```OCTET_LENGTH(bytes)```
+```OCTET_LENGTH(bytes) -> LONG```
 
-返回二进制字符串中字节的数量。此方法返回一个 long 类型的值。
+返回二进制字符串中字节的数量。
 
 示例:
 
@@ -46,9 +46,9 @@ OCTET_LENGTH(NAME)
 
 ### CHAR / CHR
 
-```CHAR | CHR (int)```
+```CHAR | CHR (int) -> STRING```
 
-返回表示ASCII值的字符。该方法返回一个字符串。
+返回表示ASCII值的字符。
 
 示例:
 
@@ -56,9 +56,9 @@ CHAR(65)
 
 ### CONCAT
 
-```CONCAT(string, string[, string ...] )```
+```CONCAT(string, string[, string ...] ) -> STRING```
 
-组合字符串。与运算符 `||` 不同,**NULL** 参数会被忽略,不会导致结果变为 **NULL**。如果所有参数都是 
NULL,则结果是一个空字符串。该方法返回一个字符串。
+组合字符串。与运算符 `||` 不同,**NULL** 参数会被忽略,不会导致结果变为 **NULL**。如果所有参数都是 NULL,则结果是一个空字符串。
 
 示例:
 
@@ -66,9 +66,9 @@ CONCAT(NAME, '_')
 
 ### CONCAT_WS
 
-```CONCAT_WS(separatorString, string, string[, string ...] )```
+```CONCAT_WS(separatorString, string, string[, string ...] ) -> STRING```
 
-使用分隔符组合字符串。如果分隔符为 **NULL**,则会被视为空字符串。其他 **NULL** 参数会被忽略。剩余的 **非NULL** 
参数(如果有)将用指定的分隔符连接起来。如果没有剩余参数,则结果是一个空字符串。该方法返回一个字符串。
+使用分隔符组合字符串。如果分隔符为 **NULL**,则会被视为空字符串。其他 **NULL** 参数会被忽略。剩余的 **非NULL** 
参数(如果有)将用指定的分隔符连接起来。如果没有剩余参数,则结果是一个空字符串。
 
 示例:
 
@@ -76,7 +76,7 @@ CONCAT_WS(',', NAME, '_')
 
 ### HEXTORAW
 
-```HEXTORAW(string)```
+```HEXTORAW(string) -> STRING```
 
 将字符串的十六进制表示转换为字符串。每个字符串字符使用4个十六进制字符。
 
@@ -86,11 +86,9 @@ HEXTORAW(DATA)
 
 ### RAWTOHEX
 
-```RAWTOHEX(string)```
+```RAWTOHEX(string | bytes) -> STRING```
 
-```RAWTOHEX(bytes)```
-
-将字符串或字节转换为十六进制表示。每个字符串字符使用4个十六进制字符。该方法返回一个字符串。
+将字符串或字节转换为十六进制表示。每个字符串字符使用4个十六进制字符。
 
 示例:
 
@@ -98,9 +96,9 @@ RAWTOHEX(DATA)
 
 ### INSERT
 
-```INSERT(originalString, startInt, lengthInt, addString)```
+```INSERT(originalString, startInt, lengthInt, addString) -> STRING```
 
-在原始字符串的指定起始位置插入额外的字符串。长度参数指定在原始字符串的起始位置删除的字符数。该方法返回一个字符串。
+在原始字符串的指定起始位置插入额外的字符串。长度参数指定在原始字符串的起始位置删除的字符数。
 
 示例:
 
@@ -108,7 +106,7 @@ INSERT(NAME, 1, 1, ' ')
 
 ### LOWER / LCASE
 
-```LOWER | LCASE (string)```
+```LOWER | LCASE (string) -> STRING```
 
 将字符串转换为小写形式。
 
@@ -118,7 +116,7 @@ LOWER(NAME)
 
 ### UPPER / UCASE
 
-```UPPER | UCASE (string)```
+```UPPER | UCASE (string) -> STRING```
 
 将字符串转换为大写形式。
 
@@ -128,7 +126,7 @@ UPPER(NAME)
 
 ### LEFT
 
-```LEFT(string, int)```
+```LEFT(string, int) -> STRING```
 
 返回最左边的一定数量的字符。
 
@@ -138,7 +136,7 @@ LEFT(NAME, 3)
 
 ### RIGHT
 
-```RIGHT(string, int)```
+```RIGHT(string, int) -> STRING```
 
 返回最右边的一定数量的字符。
 
@@ -148,11 +146,11 @@ RIGHT(NAME, 3)
 
 ### LOCATE / INSTR / POSITION
 
-```LOCATE(searchString, string[, startInit])```
+```LOCATE(searchString, string[, startInt]) -> INT```
 
-```INSTR(string, searchString[, startInit])```
+```INSTR(string, searchString[, startInt]) -> INT```
 
-```POSITION(searchString, string)```
+```POSITION(searchString, string) -> INT```
 
 返回字符串中搜索字符串的位置。如果使用了起始位置参数,则忽略它之前的字符。如果位置参数是负数,则返回最右边的位置。如果未找到搜索字符串,则返回 
0。请注意,即使参数不区分大小写,此函数也区分大小写。
 
@@ -162,7 +160,7 @@ LOCATE('.', NAME)
 
 ### LPAD
 
-```LPAD(string ,int[, string])```
+```LPAD(string ,int[, string]) -> STRING```
 
 将字符串左侧填充到指定的长度。如果长度比字符串短,则字符串将在末尾被截断。如果未设置填充字符串,则使用空格填充。
 
@@ -172,7 +170,7 @@ LPAD(AMOUNT, 10, '*')
 
 ### RPAD
 
-```RPAD(string, int[, string])```
+```RPAD(string, int[, string]) -> STRING```
 
 将字符串右侧填充到指定的长度。如果长度比字符串短,则字符串将被截断。如果未设置填充字符串,则使用空格填充。
 
@@ -182,7 +180,7 @@ RPAD(TEXT, 10, '-')
 
 ### LTRIM
 
-```LTRIM(string[, characterToTrimString])```
+```LTRIM(string[, characterToTrimString]) -> STRING```
 
 移除字符串中所有前导空格或其他指定的字符。
 
@@ -192,7 +190,7 @@ LTRIM(NAME)
 
 ### RTRIM
 
-```RTRIM(string[, characterToTrimString])```
+```RTRIM(string[, characterToTrimString]) -> STRING```
 
 移除字符串中所有尾随空格或其他指定的字符。
 
@@ -202,7 +200,7 @@ RTRIM(NAME)
 
 ### TRIM
 
-```TRIM(string[, characterToTrimString])```
+```TRIM(string[, characterToTrimString]) -> STRING```
 
 移除字符串中所有前导空格和尾随空格或其他指定的字符。
 
@@ -212,7 +210,7 @@ TRIM(NAME)
 
 ### REGEXP_REPLACE
 
-```REGEXP_REPLACE(inputString, regexString, replacementString[, 
flagsString])```
+```REGEXP_REPLACE(inputString, regexString, replacementString[, flagsString]) 
-> STRING```
 
 替换与正则表达式匹配的每个子字符串。详情请参阅 Java String.replaceAll() 方法。如果任何参数为 null(除了可选的 
flagsString 参数),则结果为 null。
 
@@ -233,7 +231,7 @@ REGEXP_REPLACE('Hello WWWWorld', 'w+', 'W', 'i')
 
 ### REGEXP_LIKE
 
-```REGEXP_LIKE(inputString, regexString[, flagsString])```
+```REGEXP_LIKE(inputString, regexString[, flagsString]) -> BOOLEAN```
 
 将字符串与正则表达式匹配。详情请参阅 Java Matcher.find() 方法。如果任何参数为 null(除了可选的 flagsString 
参数),则结果为 null。
 
@@ -253,7 +251,7 @@ REGEXP_LIKE('Hello    World', '[A-Z ]*', 'i')
 
 ### REGEXP_SUBSTR
 
-```REGEXP_SUBSTR(inputString, regexString[, positionInt, occurrenceInt, 
flagsString, groupInt])```
+```REGEXP_SUBSTR(inputString, regexString[, positionInt, occurrenceInt, 
flagsString, groupInt]) -> STRING```
 
 将字符串与正则表达式匹配,并返回匹配的子字符串。详情请参阅 java.util.regex.Pattern 和相关功能。
 
@@ -278,9 +276,9 @@ REGEXP_SUBSTR('2020-10-01', '(\d{4})-(\d{2})-(\d{2})', 1, 
1, NULL, 2)
 
 ### REPEAT
 
-```REPEAT(string, int)```
+```REPEAT(string, int) -> STRING```
 
-Returns a string repeated some number of times.
+将字符串按指定次数重复后返回。
 
 示例:
 
@@ -288,7 +286,7 @@ REPEAT(NAME || ' ', 10)
 
 ### REPLACE
 
-```REPLACE(string, searchString[, replacementString])```
+```REPLACE(string, searchString[, replacementString]) -> STRING```
 
 在文本中替换所有出现的搜索字符串为另一个字符串。如果没有指定替换字符串,则从原始字符串中移除搜索字符串。如果任何参数为 null,则结果为 null。
 
@@ -299,6 +297,8 @@ REPLACE(NAME, ' ')
 
 ### SPLIT
 
+```SPLIT(string, delimiterString) -> ARRAY<STRING>```
+
 将字符串切分成数组。
 
 示例:
@@ -307,7 +307,7 @@ select SPLIT(test,';') as arrays
 
 ### SOUNDEX
 
-```SOUNDEX(string)```
+```SOUNDEX(string) -> STRING```
 
 表示字符串发音。此方法返回一个字符串,如果参数为 null,则返回 null。有关更多信息,请参阅 
https://en.wikipedia.org/wiki/Soundex 。
 
@@ -317,7 +317,7 @@ SOUNDEX(NAME)
 
 ### SPACE
 
-```SPACE(int)```
+```SPACE(int) -> STRING```
 
 返回由一定数量的空格组成的字符串。
 
@@ -327,7 +327,7 @@ SPACE(80)
 
 ### SUBSTRING / SUBSTR
 
-```SUBSTRING | SUBSTR (string, startInt[, lengthInt ])```
+```SUBSTRING | SUBSTR (string, startInt[, lengthInt ]) -> STRING```
 
 返回从指定位置开始的字符串的子串。如果起始索引为负数,则相对于字符串的末尾计算起始索引。长度是可选的。
 
@@ -338,7 +338,7 @@ CALL SUBSTRING('hour', 3, 2);
 
 ### TO_CHAR
 
-```TO_CHAR(value[, formatString])```
+```TO_CHAR(value[, formatString]) -> STRING```
 
 Oracle 兼容的 TO_CHAR 函数可用于格式化时间戳、数字或文本。
 
@@ -348,7 +348,7 @@ CALL TO_CHAR(SYS_TIME, 'yyyy-MM-dd HH:mm:ss')
 
 ### TRANSLATE
 
-```TRANSLATE(value, searchString, replacementString)```
+```TRANSLATE(value, searchString, replacementString) -> STRING```
 
 Oracle 兼容的 TRANSLATE 函数用于将字符串中的一系列字符替换为另一组字符。
 
@@ -360,7 +360,7 @@ CALL TRANSLATE('Hello world', 'eo', 'EO')
 
 ### ABS
 
-```ABS(numeric)```
+```ABS(numeric) -> NUMERIC (same type)```
 
 返回指定值的绝对值。返回的值与参数的数据类型相同。
 
@@ -372,9 +372,9 @@ ABS(I)
 
 ### ACOS
 
-```ACOS(numeric)```
+```ACOS(numeric) -> DOUBLE```
 
-计算反余弦值。另请参阅 Java Math.acos。该方法返回一个双精度浮点数。
+计算反余弦值。另请参阅 Java Math.acos。
 
 示例:
 
@@ -382,7 +382,7 @@ ACOS(D)
 
 ### ARRAY_MAX
 
-```ARRAY_MAX(ARRAY)```
+```ARRAY_MAX(ARRAY) -> type(array element)```
 
 MAX 函数返回表达式的最大值。
 
@@ -392,7 +392,7 @@ ARRAY_MAX(I)
 
 ### ARRAY_MIN
 
-```ARRAY_MIN(ARRAY)```
+```ARRAY_MIN(ARRAY) -> type(array element)```
 
 MIN 函数返回表达式的最小值。
 
@@ -403,9 +403,9 @@ ARRAY_MIN(I)
 
 ### ASIN
 
-```ASIN(numeric)```
+```ASIN(numeric) -> DOUBLE```
 
-计算反正弦值。另请参阅 Java Math.asin。该方法返回一个双精度浮点数。
+计算反正弦值。另请参阅 Java Math.asin。
 
 示例:
 
@@ -413,9 +413,9 @@ ASIN(D)
 
 ### ATAN
 
-```ATAN(numeric)```
+```ATAN(numeric) -> DOUBLE```
 
-计算反正切值。另请参阅 Java Math.atan。该方法返回一个双精度浮点数。
+计算反正切值。另请参阅 Java Math.atan。
 
 示例:
 
@@ -423,9 +423,9 @@ ATAN(D)
 
 ### COS
 
-```COS(numeric)```
+```COS(numeric) -> DOUBLE```
 
-计算三角余弦值。另请参阅 Java Math.cos。该方法返回一个双精度浮点数。
+计算三角余弦值。另请参阅 Java Math.cos。
 
 示例:
 
@@ -433,9 +433,9 @@ COS(ANGLE)
 
 ### COSH
 
-```COSH(numeric)```
+```COSH(numeric) -> DOUBLE```
 
-计算双曲余弦值。另请参阅 Java Math.cosh。该方法返回一个双精度浮点数。
+计算双曲余弦值。另请参阅 Java Math.cosh。
 
 示例:
 
@@ -443,9 +443,9 @@ COSH(X)
 
 ### COT
 
-```COT(numeric)```
+```COT(numeric) -> DOUBLE```
 
-计算三角余切值(1/TAN(角度))。另请参阅 Java Math.* 函数。该方法返回一个双精度浮点数。
+计算三角余切值(1/TAN(角度))。另请参阅 Java Math.* 函数。
 
 示例:
 
@@ -453,9 +453,9 @@ COT(ANGLE)
 
 ### SIN
 
-```SIN(numeric)```
+```SIN(numeric) -> DOUBLE```
 
-计算三角正弦值。另请参阅 Java Math.sin。该方法返回一个双精度浮点数。
+计算三角正弦值。另请参阅 Java Math.sin。
 
 示例:
 
@@ -463,9 +463,9 @@ SIN(ANGLE)
 
 ### SINH
 
-```SINH(numeric)```
+```SINH(numeric) -> DOUBLE```
 
-计算双曲正弦值。另请参阅 Java Math.sinh。该方法返回一个双精度浮点数。
+计算双曲正弦值。另请参阅 Java Math.sinh。
 
 示例:
 
@@ -473,9 +473,9 @@ SINH(ANGLE)
 
 ### TAN
 
-```TAN(numeric)```
+```TAN(numeric) -> DOUBLE```
 
-计算三角正切值。另请参阅 Java Math.tan。该方法返回一个双精度浮点数。
+计算三角正切值。另请参阅 Java Math.tan。
 
 示例:
 
@@ -483,9 +483,9 @@ TAN(ANGLE)
 
 ### TANH
 
-```TANH(numeric)```
+```TANH(numeric) -> DOUBLE```
 
-计算双曲正切值。另请参阅 Java Math.tanh。该方法返回一个双精度浮点数。
+计算双曲正切值。另请参阅 Java Math.tanh。
 
 示例:
 
@@ -493,7 +493,7 @@ TANH(X)
 
 ### MOD
 
-```MOD(dividendNumeric, divisorNumeric )```
+```MOD(dividendNumeric, divisorNumeric ) -> type(divisorNumeric)```
 
 取模运算表达式。
 
@@ -507,7 +507,7 @@ MOD(A, B)
 
 ### CEIL / CEILING
 
-```CEIL | CEILING (numeric)```
+```CEIL | CEILING (numeric) -> NUMERIC (same type, scale 0)```
 
 返回大于或等于参数的最小整数值。该方法返回与参数相同类型的值,但标度设置为 0,并且如果适用,则调整精度。
 
@@ -517,9 +517,9 @@ CEIL(A)
 
 ### EXP
 
-```EXP(numeric)```
+```EXP(numeric) -> DOUBLE```
 
-请参阅 Java Math.exp。该方法返回一个双精度浮点数。
+请参阅 Java Math.exp。
 
 示例:
 
@@ -527,7 +527,7 @@ EXP(A)
 
 ### FLOOR
 
-```FLOOR(numeric)```
+```FLOOR(numeric) -> NUMERIC (same type, scale 0)```
 
 返回小于或等于参数的最大整数值。该方法返回与参数相同类型的值,但标度设置为 0,并且如果适用,则调整精度。
 
@@ -537,7 +537,7 @@ FLOOR(A)
 
 ### LN
 
-```LN(numeric)```
+```LN(numeric) -> DOUBLE```
 
 计算自然对数(以 e 为底)的双精度浮点数值。参数必须是一个正数值。
 
@@ -547,7 +547,7 @@ LN(A)
 
 ### LOG
 
-```LOG(baseNumeric, numeric)```
+```LOG(baseNumeric, numeric) -> DOUBLE```
 
 计算以指定底数的对数,返回一个双精度浮点数。参数和底数必须是正数值。底数不能等于1。
 
@@ -561,7 +561,7 @@ LOG(2, A)
 
 ### LOG10
 
-```LOG10(numeric)```
+```LOG10(numeric) -> DOUBLE```
 
 计算以 10 为底的对数,返回一个双精度浮点数。参数必须是一个正数值。
 
@@ -571,9 +571,9 @@ LOG10(A)
 
 ### RADIANS
 
-```RADIANS(numeric)```
+```RADIANS(numeric) -> DOUBLE```
 
-请参阅 Java Math.toRadians。该方法返回一个双精度浮点数。
+请参阅 Java Math.toRadians。
 
 示例:
 
@@ -581,9 +581,9 @@ RADIANS(A)
 
 ### SQRT
 
-```SQRT(numeric)```
+```SQRT(numeric) -> DOUBLE```
 
-请参阅 Java Math.sqrt。该方法返回一个双精度浮点数。
+请参阅 Java Math.sqrt。
 
 示例:
 
@@ -591,9 +591,9 @@ SQRT(A)
 
 ### PI
 
-```PI()```
+```PI() -> DOUBLE```
 
-请参阅 Java Math.PI。该方法返回一个双精度浮点数。
+请参阅 Java Math.PI。
 
 示例:
 
@@ -601,9 +601,9 @@ PI()
 
 ### POWER
 
-```POWER(numeric, numeric)```
+```POWER(numeric, numeric) -> DOUBLE```
 
-请参阅 Java Math.pow。该方法返回一个双精度浮点数。
+请参阅 Java Math.pow。
 
 示例:
 
@@ -611,7 +611,7 @@ POWER(A, B)
 
 ### RAND / RANDOM
 
-```RAND | RANDOM([ int ])```
+```RAND | RANDOM([ int ]) -> DOUBLE```
 
 如果不带参数调用该函数,则返回下一个伪随机数。如果带有参数调用,则将会给该会话的随机数生成器设定种子。该方法返回一个介于 0(包括)和 
1(不包括)之间的双精度浮点数。
 
@@ -621,7 +621,7 @@ RAND()
 
 ### ROUND
 
-```ROUND(numeric[, digitsInt])```
+```ROUND(numeric[, digitsInt]) -> NUMERIC (same type)```
 
 四舍五入到指定的小数位数。该方法返回与参数相同类型的值,但如果适用,则调整精度和标度。
 
@@ -631,7 +631,7 @@ ROUND(N, 2)
 
 ### SIGN
 
-```SIGN(numeric)```
+```SIGN(numeric) -> INT```
 
 如果值小于 0,则返回 -1;如果值为零或 NaN,则返回 0;否则返回 1。
 
@@ -641,7 +641,7 @@ SIGN(N)
 
 ### TRUNC
 
-```TRUNC | TRUNCATE(numeric[, digitsInt])```
+```TRUNC | TRUNCATE(numeric[, digitsInt]) -> NUMERIC (same type)```
 
 当指定了一个数值参数时,将其截断为指定的数字位数(接近0的下一个值),并返回与参数相同类型的值,但如果适用,则调整精度和标度。
 
@@ -651,9 +651,9 @@ TRUNC(N, 2)
 
 ### TRIM_SCALE
 
-```TRIM_SCALE(numeric)```
+```TRIM_SCALE(numeric) -> NUMERIC (same type)```
 
-通过删除尾数部分的零来降低值的刻度(小数位数)。此方法返回一个字符串值,并调整小数位数。
+通过删除尾数部分的零来降低值的刻度(小数位数),并调整小数位数。
 
 示例:
 
@@ -663,7 +663,7 @@ TRIM_SCALE(N)
 
 ### CURRENT_DATE
 
-```CURRENT_DATE [()]```
+```CURRENT_DATE [()] -> DATE```
 
 返回当前日期。
 
@@ -675,7 +675,7 @@ CURRENT_DATE
 
 ### CURRENT_TIME
 
-```CURRENT_TIME [()]```
+```CURRENT_TIME [()] -> TIME```
 
 返回带有系统时区的当前时间。实际可用的最大精度取决于操作系统和 JVM,可以是 3(毫秒)或更高。在 Java 9 之前不支持更高的精度。
 
@@ -685,7 +685,7 @@ CURRENT_TIME
 
 ### CURRENT_TIMESTAMP / NOW
 
-```CURRENT_TIMESTAMP[()] | NOW()```
+```CURRENT_TIMESTAMP[()] | NOW() -> TIMESTAMP```
 
 返回带有系统时区的当前时间戳。实际可用的最大精度取决于操作系统和 JVM,可以是 3(毫秒)或更高。在 Java 9 之前不支持更高的精度。
 
@@ -695,7 +695,7 @@ CURRENT_TIMESTAMP
 
 ### DATEADD / TIMESTAMPADD
 
-```DATEADD| TIMESTAMPADD(dateAndTime, addIntLong, datetimeFieldString)```
+```DATEADD | TIMESTAMPADD(dateAndTime, addIntLong, datetimeFieldString) -> 
type(dateAndTime)```
 
 将单位添加到日期时间值中。datetimeFieldString 表示单位。使用负值来减去单位。当操作毫秒、微秒或纳秒时,addIntLong 可能是一个 
long 值,否则其范围被限制为 int。如果单位与指定值兼容,则此方法返回与指定值相同类型的值。如果指定的字段是 
HOUR、MINUTE、SECOND、MILLISECOND 等,而值是 DATE 值,DATEADD 返回组合的 TIMESTAMP。对于 TIME 
值,不允许使用 DAY、MONTH、YEAR、WEEK 等字段。
 
@@ -705,9 +705,9 @@ DATEADD(CREATED, 1, 'MONTH')
 
 ### DATEDIFF
 
-```DATEDIFF(aDateAndTime, bDateAndTime, datetimeFieldString)```
+```DATEDIFF(aDateAndTime, bDateAndTime, datetimeFieldString) -> LONG```
 
-返回两个日期时间值之间跨越的单位边界数。此方法返回一个 long 值。datetimeField 表示单位。
+返回两个日期时间值之间跨越的单位边界数。datetimeField 表示单位。
 
 示例:
 
@@ -715,7 +715,7 @@ DATEDIFF(T1.CREATED, T2.CREATED, 'MONTH')
 
 ### DATE_TRUNC
 
-```DATE_TRUNC (dateAndTime, datetimeFieldString)```
+```DATE_TRUNC (dateAndTime, datetimeFieldString) -> dateAndTime (same type)```
 
 将指定的日期时间值截断到指定的字段。
 
@@ -725,7 +725,7 @@ DATE_TRUNC(CREATED, 'DAY');
 
 ### DAYNAME
 
-```DAYNAME(dateAndTime)```
+```DAYNAME(dateAndTime) -> STRING```
 
 返回星期几的名称(英文)。
 
@@ -735,7 +735,7 @@ DAYNAME(CREATED)
 
 ### DAY_OF_MONTH
 
-```DAY_OF_MONTH(dateAndTime)```
+```DAY_OF_MONTH(dateAndTime) -> INT```
 
 返回月份中的日期(1-31)。
 
@@ -745,7 +745,7 @@ DAY_OF_MONTH(CREATED)
 
 ### DAY_OF_WEEK
 
-```DAY_OF_WEEK(dateAndTime)```
+```DAY_OF_WEEK(dateAndTime) -> INT```
 
 返回星期几的数值(1-7)(星期一至星期日),根据本地化设置。
 
@@ -755,7 +755,7 @@ DAY_OF_WEEK(CREATED)
 
 ### DAY_OF_YEAR
 
-```DAY_OF_YEAR(dateAndTime)```
+```DAY_OF_YEAR(dateAndTime) -> INT```
 
 返回一年中的日期(1-366)。
 
@@ -765,7 +765,7 @@ DAY_OF_YEAR(CREATED)
 
 ### EXTRACT
 
-```EXTRACT ( datetimeField FROM dateAndTime)```
+```EXTRACT ( datetimeField FROM dateAndTime) -> INT | NUMERIC```
 
 从日期/时间值中返回特定时间单位的值。该方法对于 EPOCH 字段返回一个数值,对于其他字段返回一个整数。
 
@@ -825,11 +825,11 @@ EXTRACT(DOW FROM eventTime)
 
 ### FORMATDATETIME
 
-```FORMATDATETIME (dateAndTime, formatString)```
+```FORMATDATETIME (dateAndTime, formatString) -> STRING```
 
 将日期、时间或时间戳格式化为字符串。最重要的格式字符包括:y(年)、M(月)、d(日)、H(时)、m(分)、s(秒)。有关格式的详细信息,请参阅 
java.time.format.DateTimeFormatter。
 
-该方法返回一个字符串。
+
 
 示例:
 
@@ -837,7 +837,7 @@ CALL FORMATDATETIME(CREATED, 'yyyy-MM-dd HH:mm:ss')
 
 ### HOUR
 
-```HOUR(dateAndTime)```
+```HOUR(dateAndTime) -> INT```
 
 从日期/时间值中返回小时(0-23)。
 
@@ -847,7 +847,7 @@ HOUR(CREATED)
 
 ### MINUTE
 
-```MINUTE(dateAndTime)```
+```MINUTE(dateAndTime) -> INT```
 
 从日期/时间值中返回分钟(0-59)。
 
@@ -859,7 +859,7 @@ MINUTE(CREATED)
 
 ### MONTH
 
-```MONTH(dateAndTime)```
+```MONTH(dateAndTime) -> INT```
 
 从日期/时间值中返回月份(1-12)。
 
@@ -871,7 +871,7 @@ MONTH(CREATED)
 
 ### MONTHNAME
 
-```MONTHNAME(dateAndTime)```
+```MONTHNAME(dateAndTime) -> STRING```
 
 返回月份的名称(英文)。
 
@@ -881,7 +881,8 @@ MONTHNAME(CREATED)
 
 ### PARSEDATETIME / TO_DATE
 
-```PARSEDATETIME | TO_DATE(string, formatString)```
+```PARSEDATETIME | TO_DATE(string, formatString) -> TIMESTAMP```
+
 解析一个字符串并返回一个 TIMESTAMP WITH TIME ZONE 
值。最重要的格式字符包括:y(年)、M(月)、d(日)、H(时)、m(分)、s(秒)。有关格式的详细信息,请参阅 
java.time.format.DateTimeFormatter。
 
 示例:
@@ -892,7 +893,7 @@ CALL 
TO_DATE('2021-04-08T13:34:45','yyyy-MM-dd''T''HH:mm:ss')
 
 ### QUARTER
 
-```QUARTER(dateAndTime)```
+```QUARTER(dateAndTime) -> INT```
 
 从日期/时间值中返回季度(1-4)。
 
@@ -902,7 +903,7 @@ QUARTER(CREATED)
 
 ### SECOND
 
-```SECOND(dateAndTime)```
+```SECOND(dateAndTime) -> INT```
 
 从日期/时间值中返回秒数(0-59)。
 
@@ -914,7 +915,7 @@ SECOND(CREATED)
 
 ### WEEK
 
-```WEEK(dateAndTime)```
+```WEEK(dateAndTime) -> INT```
 
 返回日期/时间值中的周数(1-53)。
 
@@ -926,7 +927,7 @@ WEEK(CREATED)
 
 ### YEAR
 
-```YEAR(dateAndTime)```
+```YEAR(dateAndTime) -> INT```
 
 返回日期/时间值中的年份。
 
@@ -936,7 +937,7 @@ YEAR(CREATED)
 
 ### FROM_UNIXTIME
 
-```FROM_UNIXTIME (unixtime, formatString,timeZone)```
+```FROM_UNIXTIME (unixtime, formatString,timeZone) -> STRING```
 
 将从 UNIX 纪元(1970-01-01 00:00:00 UTC)开始的秒数转换为表示该时刻时间戳的字符串。
 
@@ -944,8 +945,6 @@ YEAR(CREATED)
 
 `timeZone` 是可选的,默认值为系统的时区。`timezone` 的值可以是一个 `UTC+ 时区偏移`,例如,`UTC+8` 
表示亚洲/上海时区,请参阅 `java.time.ZoneId`。
 
-该方法返回一个字符串。
-
 示例:
 
 // 使用默认时区
@@ -962,7 +961,7 @@ CALL FROM_UNIXTIME(1672502400, 'yyyy-MM-dd 
HH:mm:ss','UTC+6')
 
 ### CAST
 
-```CAST(value as dataType)```
+```CAST(value as dataType) -> dataType```
 
 将一个值转换为另一个数据类型。
 
@@ -982,7 +981,7 @@ CAST(FLAG AS BOOLEAN)
 
 ### TRY_CAST
 
-```TRY_CAST(value as dataType)```
+```TRY_CAST(value as dataType) -> dataType | NULL```
 
 该函数类似于 CAST,但当转换失败时,它返回 NULL 而不是抛出异常。
 
@@ -994,7 +993,7 @@ TRY_CAST(NAME AS INT)
 
 ### COALESCE
 
-```COALESCE(aValue, bValue [,...])```
+```COALESCE(aValue, bValue [,...]) -> type(of first non-null arg)```
 
 返回第一个非空值。如果后续参数与第一个参数的数据类型不同,则会自动转换为第一个参数的类型。
 
@@ -1012,7 +1011,7 @@ SELECT COALESCE(A, B) as result FROM my_table
 
 ### IFNULL
 
-```IFNULL(aValue, bValue)```
+```IFNULL(aValue, bValue) -> type(common of args)```
 
 返回第一个非空值。如果后续参数与第一个参数的数据类型不同,则会自动转换为第一个参数的类型。
 
@@ -1022,7 +1021,7 @@ IFNULL(A, B)
 
 ### NULLIF
 
-```NULLIF(aValue, bValue)```
+```NULLIF(aValue, bValue) -> type(aValue) | NULL```
 
 如果 'a' 等于 'b',则返回 NULL,否则返回 'a'。
 
@@ -1031,7 +1030,8 @@ IFNULL(A, B)
 NULLIF(A, B)
 
 ### MULTI_IF
-```MULTI_IF(condition1, value1, condition2, value2, ... conditionN, valueN, 
bValue)```
+
+```MULTI_IF(condition1, value1, condition2, value2, ... conditionN, valueN, 
bValue) -> type(of values)```
 
 返回第一个满足相应条件的值。如果所有条件均为假,则返回最后一个值。
 
@@ -1041,6 +1041,8 @@ MULTI_IF(A > 1, 'A', B > 1, 'B', C > 1, 'C', 'D')
 
 ### CASE WHEN
 
+```CASE WHEN <condition> THEN <expr> [WHEN ...] [ELSE <expr>] END -> type(of 
result expressions)```
+
 ```
 select
   case
@@ -1092,7 +1094,7 @@ case when c_string in ('c_string') then true else false 
end
 
 ### UUID
 
-```UUID()```
+```UUID() -> STRING```
 
 通过java函数生成uuid
 
@@ -1103,8 +1105,8 @@ select UUID() as seatunnel_uuid
 
 ### ARRAY
 
-```ARRAY<T> array(T, ...)```
-创建一个由可变参数元素组成的数组并返回它。这里,T 可以是"列"或"常量"。。
+```ARRAY<T> array(T, ...) -> ARRAY<T>```
+创建一个由可变参数元素组成的数组并返回它。这里,T 可以是“列”或“常量”。
 
 示例:
 
@@ -1116,6 +1118,8 @@ select ARRAY(column1,column2,column3) as arrays
 
 ### LATERAL VIEW
 #### EXPLODE
+```EXPLODE(array of T) -> rows(value: T)```  
+```OUTER EXPLODE(array of T) -> rows(value: T | NULL)```
 
 用于将数组列展开成多行。它通过对数组应用 EXPLODE 函数,为数组中的每个元素生成一个新行。
 

Reply via email to