日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

支持的函數

本文為您介紹實時計算Flink版支持的所有內置函數。

支持的函數

實時計算Flink版VVR 3.0.0版本在Flink V1.12的基礎上增加了部分內置函數,詳情請參見標量函數表值函數聚合函數。下表展示的是實時計算Flink版在Flink V1.15版本的基礎上支持的全部內置函數及簡要說明。

不同Flink版本支持的函數可能會有差異,如果您需要查看函數詳情及不同版本差異,請查看對應的文檔鏈接,詳情請參見Flink V1.12內置函數Flink V1.13內置函數Flink V1.14內置函數Flink V1.15內置函數Flink V1.16內置函數Flink V1.17內置函數

說明

如果內置函數中不存在您所需的函數,您可以通過自定義函數實現,自定義函數詳情請參見自定義函數概述

標量函數

類別

函數

說明

比較函數

value1 = value2

如果value1等于value2返回true。

value1 <> value2

如果value1不等于value2返回true。

value1 > value2

如果value1大于value2返回true。

value1 >= value2

如果value1大于或等于value2返回true。

value1 < value2

如果value1小于value2返回true。

value1 <= value2

如果value1小于等于value2返回true。

value IS NULL

如果值為NULL返回true。

value IS NOT NULL

如果值不為NULL返回true。

value1 IS DISTINCT FROM value2

value1和value2的數據類型和值不相同,則返回true。所有NULL值視為彼此相等。

value1 IS NOT DISTINCT FROM value2

value1和value2的數據類型和值相同,則返回true。所有NULL值視為彼此相等。

value1 BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3

默認或使用ASYMMETRIC關鍵字的情況下,如果value1大于等于value2且小于等于value3返回true。

value1 NOT BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3

默認或使用ASYMMETRIC關鍵字的情況下,如果value1小于value2或大于 value3,則返回true。

string1 LIKE string2 [ ESCAPE char ]

如果string1匹配string2返回true。

string1 NOT LIKE string2 [ ESCAPE char ]

如果string1與string2不匹配返回true。

string1 SIMILAR TO string2 [ ESCAPE char ]

如果string1匹配SQL正則表達式string2返回true。

string1 NOT SIMILAR TO string2 [ ESCAPE char ]

如果string1與SQL正則表達式string2不匹配返回true。

value1 IN (value2 [, value3]* )

在給定列表 (value2, value3, …) 中存在 value1返回true。

value1 NOT IN (value2 [, value3]* )

在給定列表 (value2, value3, …) 中不存在value1返回true。

EXISTS (sub-query)

如果子查詢至少返回一行則返回true。

value IN (sub-query)

如果value等于子查詢結果集中的一行則返回true。

value NOT IN (sub-query)

如果value不包含于子查詢返回的行則返回true。

邏輯函數

BITAND

使用BITAND函數進行按位與操作。

BITNOT

使用BITNOT函數進行按位取反。

BITOR

使用BITOR函數進行按位取或。

BITXOR

使用BITXOR函數進行按位取異或。

boolean1 OR boolean2

如果boolean1為true或boolean2為true返回true。

boolean1 AND boolean2

如果boolean1和boolean2都為true返回true。

NOT boolean

如果布爾值為FALSE返回true;如果布爾值為true返回FALSE;如果布爾值為UNKNOWN返回UNKNOWN。

boolean IS FALSE

如果布爾值為FALSE返回true;如果 boolean為true或UNKNOWN返回FALSE。

boolean IS NOT FALSE

如果boolean為true或UNKNOWN返回true;如果boolean為FALSE返回FALSE。

boolean IS TRUE

如果boolean為true返回true;如果 boolean為FALSE或UNKNOWN返回FALSE。

boolean IS NOT TRUE

如果boolean為FALSE或UNKNOWN返回true;如果布爾值為true返回FALSE。

boolean IS UNKNOWN

如果布爾值為UNKNOWN返回true;如果boolean為true或FALSE返回FALSE。

boolean IS NOT UNKNOWN

如果boolean為true或FALSE返回true;如果布爾值為UNKNOWN返回FALSE。

算術函數

+ numeric

返回numeric。

- numeric

返回numeric的相反數。

numeric1 + numeric2

返回numeric1加numeric2。

numeric1 - numeric2

返回numeric1減numeric2。

numeric1 * numberic2

返回numeric1乘以numeric2。

numeric1 / numeric2

返回numeric1除以numeric2。

numeric1 % numeric2

返回numeric1除以numeric2的余數。

POWER(numeric1, numeric2)

返回numeric1的numeric2次方。

ABS(numeric)

返回numeric的絕對值。

SQRT(numeric)

返回numeric的平方根。

LN(numeric)

返回numeric的自然對數(以e為底)。

LOG10(numeric)

返回以10為底的numeric的對數。

LOG2(numeric)

返回以2為底的numeric的對數。

LOG(numeric2) LOG(numeric1, numeric2)

當用一個參數調用時,返回 numeric2 的自然對數。當使用兩個參數調用時,此函數返回 numeric2 以 numeric1 為底的對數。numeric2 必須大于 0,numeric1 必須大于 1。

EXP(numeric)

返回e的numeric次冪。

CEIL(numeric) CEILING(numeric)

向上取整,并返回大于或等于numeric的最小整數。

FLOOR(numeric)

向下取整,并返回小于或等于numeric的最大整數。

SIN(numeric)

返回numeric的正弦值。

SINH(numeric)

返回numeric的雙曲正弦值。返回類型為 DOUBLE。

COS(numeric)

返回numeric的余弦值。

TAN(numeric)

返回numeric的正切值。

TANH(numeric)

返回numeric的雙曲正切值。返回類型為 DOUBLE。

COT(numeric)

返回numeric的余切值。

ASIN(numeric)

返回numeric的反正弦值。

ACOS(numeric)

返回numeric的反余弦值。

ATAN(numeric)

返回numeric的反正切值。

ATAN2(numeric1, numeric2)

返回坐標 (numeric1, numeric2) 的反正切。

COSH(numeric)

返回numeric的雙曲余弦值。返回值類型為DOUBLE。

DEGREES(numeric)

返回弧度numeric的度數表示。

RADIANS(numeric)

返回度數numeric的弧度表示。

SIGN(numeric)

返回numeric的符號。

ROUND(numeric, INT)

返回numeric四舍五入保留INT小數位的值。

PI()

返回無比接近pi的值。

E()

返回無比接近e的值。

RAND()

返回[0.0, 1.0) 范圍內的偽隨機雙精度值。

RAND(INT)

返回范圍為[0.0, 1.0) 的偽隨機雙精度值,初始種子為INT。

RAND_INTEGER(INT)

返回[0, INT) 范圍內的偽隨機整數。

RAND_INTEGER(INT1,INT2)

返回范圍為[0, INT2) 的偽隨機整數,初始種子為INT1。

UUID()

根據RFC 4122 類型 4(偽隨機生成)UUID,返回UUID(通用唯一標識符)字符串。

BIN(INT)

以二進制格式返回INTEGER的字符串表示形式。

HEX(numeric) HEX(string)

以十六進制格式返回整數numeric值或 STRING的字符串表示形式。

TRUNCATE(numeric1,integer2)

返回截取integer2位小數的數字。

PERCENTILE(expr, percentage[, frequency])

返回expr的percentage百分位值。

字符串函數

string1 || string2

返回STRING1和STRING2的連接。

CHAR_LENGTH(string) CHARACTER_LENGTH(string)

返回字符串中的字符數。

UPPER(string)

以大寫形式返回字符串。

LOWER(string)

以小寫形式返回字符串。

POSITION(string1 IN string2)

返回 STRING2 中第一次出現STRING1的位置(從 1 開始);如果在STRING2中找不到STRING1返回 0。

TRIM([ BOTH | LEADING | TRAILING ] string1 FROM string2)

返回從STRING2中刪除以字符串STRING1開頭、結尾或開頭且結尾的字符串的結果。

處理TRAILING參數時,會移除字符串末尾的所有字符,直到遇到一個不在TRAILING參數中的字符為止。例如,TRIM(TRAILING 'fe' from 'abcdef')返回abcd。

LTRIM(string)

返回從STRING中刪除左邊空格的字符串。

RTRIM(string)

返回從STRING中刪除右邊空格的字符串。

REPEAT(string, int)

返回INT個string連接的字符串。

REGEXP_REPLACE

使用REGEXP_REPLACE函數,用目標字符串替換指定字符串,并返回新的字符串。

OVERLAY(string1 PLACING string2 FROM integer1 [ FOR integer2 ])

返回一個字符串,該字符串從位置INT1用 STRING2替換STRING1的INT2(默認為 STRING2的長度)字符。

SUBSTRING(string FROM integer1 [FOR integer2 ])

返回STRING從位置INT1開始,長度為INT2(默認到結尾)的子字符串。

REPLACE(string1,string2, string3)

返回一個新字符串,它用STRING1中的 STRING3(非重疊)替換所有出現的 STRING2。

REGEXP_EXTRACT(string1, string2[,integer])

將字符串STRING1按照STRING2正則表達式的規則拆分,返回指定INTEGER1處位置的字符串。

INITCAP(string)

返回新形式的 STRING,其中每個單詞的第一個字符轉換為大寫,其余字符轉換為小寫。這里的單詞表示字母數字的字符序列。

CONCAT(string1, string2, ...)

返回連接string1,string2, … 的字符串。如果有任一參數為NULL,則返回NULL。

CONCAT_WS(string1, string2, string3, ...)

返回將STRING2,STRING3, … 與分隔符 STRING1連接起來的字符串。

LPAD(string1, integer, string2)

返回從string1靠左填充string2到INT長度的新字符串。

RPAD(string1, integer, string2)

返回從string1靠右邊填充string2到INT長度的新字符串。

FROM_BASE64(string)

返回字符串string1的base64解碼的結果。

TO_BASE64(string)

返回字符串string的base64編碼的結果。

ASCII(string)

返回字符串string第一個字符的數值。

CHR(integer)

返回二進制等于integer的ASCII字符。

DECODE(binary, string)

使用提供的字符集(US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE或UTF-16)解碼。

ENCODE(string1, string2)

使用提供的字符集(US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE或UTF-16)編碼。

INSTR(string1, string2)

返回string2在 string1中第一次出現的位置。

LEFT(string, integer)

返回字符串中最左邊的長度為integer值的字符串。

RIGHT(string, integer)

返回字符串中最右邊的長度為integer值的字符串。

LOCATE(string1, string2[, integer])

返回string2中string1在位置integer之后第一次出現的位置。

PARSE_URL

使用PARSE_URL函數,返回目標URL中指定部分解析后的值。

REGEXP

使用REGEXP函數,對指定的字符串執行一個正則表達式搜索,并返回一個Boolean值表示是否找到指定的匹配模式。

REVERSE(string)

返回反轉的字符串。

SPLIT_INDEX

使用SPLIT_INDEX函數,將目標字符串按照指定分隔符分割成若干段,返回指定位置的字段信息。

STR_TO_MAP(string1[, string2, string3])

使用分隔符將string1拆分為鍵值對后返回一個 map。

SUBSTR(string[, integer1[, integer2]])

返回字符串的子字符串,從位置integer1開始,長度為integer2。

時間函數

DATE string

以yyyy-MM-dd的形式返回從字符串解析的 SQL日期。

DATEDIFF

使用DATEDIFF函數計算兩個日期之間的天數差值。

DATE_ADD

使用DATE_ADD函數返回指定日期增加目標天數后的日期。

DATE_SUB

使用DATE_SUB函數返回指定日期減去目標天數后的日期。

TIME string

以HH:mm:ss的形式返回從字符串解析的SQL 時間。

TIMESTAMP string

以yyyy-MM-dd HH:mm:ss[.SSS]的形式返回從字符串解析的SQL時間戳。

INTERVAL string range

從dd hh:mm:ss.fff形式的字符串解析SQL 毫秒間隔或者從yyyy-mm形式的字符串解析 SQL月數間隔。

LOCALTIME

返回本地時區的當前SQL時間,返回類型為 TIME(0)。

LOCALTIMESTAMP

返回本地時區的當前SQL時間,返回類型為 TIMESTAMP(3)。

CURRENT_TIME

返回本地時區的當前SQL時間,這是 LOCAL_TIME的同義詞。

CURRENT_DATE

返回本地時區中的當前SQL日期。

CURRENT_TIMESTAMP

返回本地時區的當前SQL時間戳。

NOW()

返回本地時區的當前SQL時間戳,這是 CURRENT_TIMESTAMP的同義詞。

CURRENT_ROW_TIMESTAMP()

返回本地時區的當前SQL時間戳。

EXTRACT(timeinteravlunit FROM temporal)

返回從時間的時間間隔單位部分提取的long值。

YEAR(date)

從SQL日期date返回年份。

QUARTER(date)

從SQL日期date 返回一年中的季度。

MONTH(date)

從SQL日期date返回一年中的月份。

WEEK(date)

從SQL日期date返回一年中的第幾周。

DAYOFYEAR(date)

從SQL日期date返回一年中的第幾天。

DAYOFMONTH

從SQL日期date返回一個月中的第幾天。

HOUR(timestamp)

從SQL時間戳timestamp返回小時單位部分的小時數。

MINUTE(timestamp)

從SQL時間戳timestamp返回分鐘單位的分鐘數。

SECOND(timestamp)

從SQL時間戳timestamp返回秒單位部分的秒數。

FLOOR(timepoint TO timeintervalunit)

返回將時間點timepoint向下取值到時間單位 timeintervalunit的值。

CEIL(timespoint TO timeintervaluntit)

返回將時間點timespoint向上取值到時間單位 TIMEINTERVALUNIT的值。

(timepoint1, temporal1) OVERLAPS (timepoint2, temporal2)

如果由 (timepoint1, temporal1) 和 (timepoint2, temporal2)定義的兩個時間間隔重疊,則返回true。

DATE_FORMAT

使用DATE_FORMAT函數將字符串類型的日期從原格式轉換至目標格式。

DATE_FORMAT_TZ

使用DATE_FORMAT_TZ函數將時間戳類型的數據根據指定的時區,轉成指定格式的字符串。

TIMESTAMPADD(timeintervalunit, interval, timepoint)

將指定時間間隔單位的時間加上指定的間隔時間,返回一個新的時間點。

TIMESTAMPDIFF(timepointunit,timepoint1, timepoint2)

返回timepoint1和timepoint2之間時間間隔。

CONVERT_TZ(string1, string2, string3)

將日期時間string1(具有默認ISO時間戳格式yyyy-MM-dd HH:mm:ss)從時區string2轉換為時區string3的值。

FROM_UNIXTIME

使用FROM_UNIXTIME函數返回VARCHAR類型的日期值。

UNIX_TIMESTAMP

使用UNIX_TIMESTAMP函數,將入參轉換為長整型的時間戳。

TO_DATE

使用TO_DATE函數,將INT類型或者VARCHAR類型的日期轉換成DATE類型。

TO_TIMESTAMP_LTZ(numeric, precision)

將紀元秒或紀元毫秒轉換TIMESTAMP_LTZ。

TO_TIMESTAMP(string1[, string2])

將UTC+0時區下格式為string2(默認為yyyy-MM-dd HH:mm:ss)的字符串string1轉換為時間戳。

TO_TIMESTAMP_TZ

使用TO_TIMESTAMP_TZ函數,將VARCHAR類型的日期根據指定時區轉換成TIMESTAMP類型。

CURRENT_WATERMARK(rowtime)

返回給定時間列屬性rowtime的當前水印。

條件函數

CASE value WHEN value1_1 [, value1_2]* THEN RESULT1 (WHEN value2_1 [, value2_2 ]* THEN result_2)* (ELSE result_z) END

當第一個時間值包含在 (valueX_1, valueX_2, …) 中時,返回resultX。

CASE WHEN condition1 THEN result1 (WHEN condition2 THEN result2)* (ELSE result_z) END

滿足第一個條件X時返回resultX。

NULLIF(value1,value2)

如果value1等于value2返回NULL,否則返回 value1。

COALESCE(value1,value2 [, value3]*)

從value1, value2, … 返回第一個不為NULL的值。

IF(condition,true_value, false_value)

如果滿足條件,則返回true_value,否則返回 false_value。

IFNULL(input,null_replacement)

如果輸入為NULL,則返回 null_replacement,否則返回輸入。

IS_ALPHA(string)

如果字符串中的所有字符都是字母,則返回true,否則返回false。

IS_DECIMAL(string)

如果string可以解析為有效數字,則返回true,否則返回false。

IS_DIGIT(string)

如果字符串中的所有字符都是數字,則返回true,否則返回false。

GREATEST(value1[,value2]*)

返回所有輸入參數的最大值,如果輸入參數中包含NULL,則返回NULL。

LEAST(value1[,value2]*)

返回所有輸入參數的最小值,如果輸入參數中包含NULL,則返回NULL。

類型轉換函數

CONV

使用CONV函數對數字或字符類型的數值進行進制轉換。

CAST(value AS type)

返回被強制轉換為類型type的新值。

TYPEOF(input) | TYPEOF(input, force_serializable)

返回輸入表達式的數據類型的字符串表示形式。

集合函數

CARDINALITY(array)

返回數組中元素的數量。

array '[' INT ']'

返回數組中INT位置的元素。

ELEMENT(array)

返回數組的唯一元素(其基數應為1)。

CARDINALITY(map)

返回map中的entries數量。

map‘[’ value ‘]’

返回map中指定key對應的值。

JSON函數

IS JSON [ { VALUE | SCALAR | ARRAY | OBJECT } ]

判斷給定的字符串是否為有效的JSON。

JSON_EXISTS(jsonValue, path [ { TRUE | FALSE | UNKNOWN | ERROR } ON ERROR ])

確定一個JSON字符串是否符合給定的路徑搜索條件。

JSON_STRING(value)

將一個值序列化為JSON。該函數返回一個包含序列化值的JSON字符串。

JSON_VALUE

使用JSON_VALUE函數,從JSON字符串中提取指定路徑的表達式。

JSON_QUERY(jsonValue, path [ { WITHOUT | WITH CONDITIONAL | WITH UNCONDITIONAL } [ ARRAY ] WRAPPER ] [ { NULL | EMPTY ARRAY | EMPTY OBJECT | ERROR } ON EMPTY ] [ { NULL | EMPTY ARRAY | EMPTY OBJECT | ERROR } ON ERROR ])

從JSON字符串中提取JSON值。

JSON_OBJECT([[KEY] key VALUE value]* [ { NULL | ABSENT } ON NULL ])

從鍵值對列表中構建一個JSON對象字符串。

JSON_OBJECTAGG([KEY] key VALUE value [ { NULL | ABSENT } ON NULL ])

將鍵值表達式匯總為一個JSON對象字符串。

JSON_ARRAY([value]* [ { NULL | ABSENT } ON NULL ])

從值列表中構建一個JSON數組字符串。

JSON_ARRAYAGG(items [ { NULL | ABSENT } ON NULL ])

通過將項聚合成一個數組來構建一個JSON對象字符串。

值構建函數

-- implicit constructor with parenthesis (value1 [, value2]*)

返回從值列表 (value1, value2, …) 創建的行。

ARRAY ‘[’value1 [, value2 ]* ‘]’

返回從值列表 (value1, value2, …) 創建的數組。

MAP ‘[’value1, value2 [, value3, value4 ]* ‘]’

返回從鍵值對列表 ((value1, value2), (value3, value4), …) 創建的map。

值獲取函數

tableName.compositeType.field

按名稱從Flink復合類型(例如,Tuple,POJO)返回字段的值。

tableName.compositeType.*

返回Flink復合類型(例如,Tuple,POJO)的平面表示,將其每個直接子類型轉換為單獨的字段。

分組函數

GROUP_ID()

返回唯一標識分組鍵組合的整數。

GROUPING(expression1 [, expression2]* ) | GROUPING_ID(expression1 [, expression2]* )

返回給定分組表達式的位向量。

哈希函數

MD5(string)

以32個十六進制數字的字符串形式返回string的MD5哈希值。

SHA1(string)

以40個十六進制數字的字符串形式返回string 的SHA-1哈希值。

SHA224(string)

以56個十六進制數字的字符串形式返回string的SHA-224哈希值。

SHA256(string)

以64個十六進制數字的字符串形式返回string的SHA-256哈希值。

SHA384(string)

以96個十六進制數字的字符串形式返回string的SHA-384哈希值。

SHA512(string)

以128個十六進制數字的字符串形式返回string的SHA-512哈希值。

SHA2(string,hashLength)

使用SHA-2系列散列函數(SHA-224,SHA-256,SHA-384或SHA-512)返回散列值。

MURMUR_HASH

使用MURMUR_HASH函數,按Murmur 32哈希算法計算指定參數的32位哈希值。

MURMUR_HASH_64

使用MURMUR_HASH_64函數,按Murmur 128哈希算法計算指定參數的64位哈希值。

其他

ISNAN

使用ISNAN函數,判斷指定的浮點數是否為NaN(Not a number),類似于Java中Double.isNaN()或Float.isNaN()函數。

KEYVALUE

使用KEYVALUE函數,將目標字符串按照split1分隔符拆分成Key-Value(KV)對,然后按照split2分隔符將Key-Value對分開,返回Key對應的Value。

表值函數

函數

說明

GENERATE_SERIES

按from、from+1、from+2 … to-1的規則,生成一系列填充數據。

JSON_TUPLE

從JSON字符串中取出各路徑字符串所表示的值。

MULTI_KEYVALUE

將目標字符串中拆分為Key-Value(KV)對,匹配split1和split2的KV對,并返回key_name1和key_name2對應的Value值。

STRING_SPLIT

根據指定的分隔符將目標字符串拆分為子字符串,并返回子字符串列表。

聚合函數

函數

說明

COUNT([ ALL ] expression | DISTINCT expression1 [, expression2]*)

默認情況下或使用關鍵字ALL,返回不為NULL的表達式的輸入行數。

COUNT(*) | COUNT(1)

返回輸入行數。

AVG([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回所有輸入行中表達式的平均值(算術平均值)。

SUM([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回所有輸入行的表達式總和。

MAX([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回所有輸入行中表達式的最大值。

MIN([ ALL | DISTINCT ] expression )

默認情況下或使用關鍵字ALL,返回所有輸入行中表達式的最小值。

STDDEV_POP([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回所有輸入行中表達式的總體標準偏差。

STDDEV_SAMP([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回所有輸入行中表達式的樣本標準偏差。

VAR_POP([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回所有輸入行中表達式的總體方差(總體標準差的平方)。

VAR_SAMP([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回所有輸入行中表達式的樣本方差(樣本標準差的平方)。

COLLECT([ ALL | DISTINCT ] expression)

默認情況下或使用關鍵字ALL,返回跨所有輸入行的多組表達式。

VARIANCE([ ALL | DISTINCT ] expression)

VAR_SAMP() 的同義方法。

RANK()

返回值在一組值中的排名。

DENSE_RANK()

返回值在一組值中的排名。結果是一加先前分配的等級值。

ROW_NUMBER()

在窗口分區內根據rows的排序為每一行分配一個唯一的序列號,從一開始。

LEAD(expression [, offset] [, default])

返回窗口中當前行之后第offset行處的表達式值。

說明

流模式下暫不支持LEAD函數。

LAG(expression [, offset] [, default])

返回窗口中當前行之前第offset行處的表達式值。

LISTAGG(expression [, separator])

連接字符串表達式的值并在它們之間放置分隔符值。

APPROX_COUNT_DISTINCT

提升作業性能。

FIRST_VALUE

返回指定數據流的第1條非NULL數據。

LAST_VALUE

返回指定數據流的最后1條非NULL數據。