赞
踩
/mnt/flink-1.12.4/bin/start-cluster.sh --启动集群
/mnt/flink-1.12.4/bin/sql-client.sh embedded --进入sql客户端
= <> > >= < <= 注意:select null=null; 返回为null IS NULL 、 IS NOT NULL --非空判断 value1 IS DISTINCT FROM value2、value1 IS NOT DISTINCT FROM value2、 --不同于 value1 BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3、value1 NOT BETWEEN [ ASYMMETRIC | SYMMETRIC ] value2 AND value3、 --如:select 1 between 0 and 2; 返回true。默认ASYMMETRIC 表示value1在闭区间内 [value2,value3] string1 LIKE string2 、string1 NOT LIKE string2 --如:select 'abc' like 'a%'; 返回true,用 '用%或_模糊数据' string1 SIMILAR TO string2 、string1 NOT SIMILAR TO string2 --string2 为正则表达式. 但测试失败 select 'fgh34444' SIMILAR TO '[a-z][0-9]*'; 返回的false value1 IN (value2 [, value3]* )、value1 NOT IN (value2 [, value3]* )、 -- select 'abc' in ('abc','e','f'); 返回true,要求类型必须一致(都为字符串,或都为)。select 1 in (1,2,3,4); EXISTS (sub-query)、 --select EXISTS (select 1); 返回true(自查询至少返回一行时) value IN (sub-query)、value NOT IN (sub-query) --select 1 in (select 1); 值等于子查询返回的行(只限于一个值),返回true. select 'abc' in (select 'abc');
OR 、AND、NOT boolean、boolean IS FALSE、boolean IS NOT FALSE、boolean IS TRUE、boolean IS NOT TRUE、boolean IS UNKNOWN、boolean IS NOT UNKNOWN
--select null=null IS UNKNOWN; 返回true
+ numeric、- numeric --返回对应的正负数字 + - * / % 、MOD(numeric1, numeric2) -- select MOD(3,2); 3除以2的余数=1.仅当numeric1为负时结果为负 POWER(numeric1, numeric2) --select POWER(2,3); 返回2 的 3次幂=8.0 ABS(numeric) --select ABS(-1); 返回绝对值1 CEIL(numeric) --向上取整 select CEIL(2.3); 返回3.000000 FLOOR(numeric) --向下取整 select FLOOR(2.3); 返回2.000000 ROUND(numeric, integer) 取整 --select ROUND(2.3,1); 保留1位小数2.30000。 --select ROUND(2.3,0); 保留0位小数 2.0000 TRUNCATE(numeric1, integer2) --select TRUNCATE(2.3,1);保留1位小数2.30000 select TRUNCATE(2.3,0) 保留0位小数 2.0000 RAND() --介于 0.0(含)和 1.0(不含)之间的伪随机双精度值 RAND(integer) --介于 0.0(含)和 1.0(不含)之间的伪随机双精度值。两个 RAND 函数具有相同的初始种子,它们将返回相同的数字序列。 RAND_INTEGER(integer) --介于 0(含)和整数(不含)之间的伪随机整数值 --使用初始种子返回 0(含)和指定值(不含)之间的伪随机整数值 UUID() --返回 UUID(通用唯一标识符)字符串(例如,“3d3c68f7-f608-473f-b60c-b0c44ad4cc4e”)。UUID 是使用加密强的伪随机数生成器生成的。 BIN(integer) --以二进制格式返回整数的字符串表示形式。如果整数为 NULL,则返回NULL。例如,BIN(4)返回“100”并BIN(12)返回“1100” HEX(numeric 或 string) --以十六进制格式返回整数数值或字符串的字符串表示形式
string1 || string2 --拼接 --select 'abc' || 'def'; 返回abcdef CHAR_LENGTH(string) --字符个数 --select CHAR_LENGTH('abcdef'); 返回 6 UPPER(string) --转大写 --select UPPER('aBc'); 返回 ABC LOWER(string) --转小写 --select LOWER('aBc'); 返回abc POSITION(string1 IN string2) --字串位置 --select POSITION('ab' in 'cdabcds'); 返回3 TRIM([ BOTH | LEADING | TRAILING ] string1 FROM string2) --默认从两边去除第一个 --select TRIM(' abc ' from ' abcdefabc '); 返回def 。select TRIM(' abc '); 返回abc 两边的空格都被删除 LTRIM(string) --去除左边的空格 RTRIM(string) --去除右边的空格 REPEAT(string, integer) --重复字符串整数次 --select REPEAT('ab',3); 返回 ababab REGEXP_REPLACE(string1, string2, string3) --将string1中符合正则表达式的 替换为 string3 --select REGEXP_REPLACE('foobar', 'oo|ar', ''); 返回 fb OVERLAY(string1 PLACING string2 FROM integer1 [ FOR integer2 ]) --将指定位置的字符串替换 --select OVERLAY('This is an old string' PLACING ' new' FROM 10 FOR 5); 返回 This is a new string --不含FROM 10 SUBSTRING(string FROM integer1 [ FOR integer2 ]) --从指定位置截取指定长度的字串 --select SUBSTRING('This is an old string'FROM 10 FOR 5); 返回 n old --含FROM 10 REPLACE(string1, string2, string3) --替换 --select REPLACE('ababab', 'abab', 'z'); 用z替换abab 返回zab REGEXP_EXTRACT(string1, string2[, integer]) --? --select REGEXP_EXTRACT('foothebar', 'foo(.*?)(bar)', 2); 返回 bar --正则表达式匹配组索引从 1 开始,0 表示匹配整个正则表达式 INITCAP(string) --第一个字符转换为大写,其余字符转换为小写 --select INITCAP('aBc'); 返回 Abc CONCAT(string1, string2,...) --拼接,如果任何参数为 NULL,则返回 NULL。 CONCAT_WS(string1, string2, string3,...) --拼接,第一个字符拼接符不为null则不为null --select CONCAT_WS('~', 'AA', NULL, 'BB', '', 'CC');会报错 Illegal use of 'NULL' --但官网说会跳过null --select CONCAT_WS('~', 'AA', 'BB', '', 'CC'); 返回“AA~BB~~CC” LPAD(string1, integer, string2) --从string1左边填充string2到整数字符的长度。如果string1的长度小于integer,则返回string1缩短为整数字符 --LPAD('hi',4,'??')返回“??hi”;LPAD('hi',1,'??')返回“h”。 RPAD(string1, integer, string2) --从右边填充 --RPAD('hi',4,'??')返回“hi??”,RPAD('hi',1,'??')返回“h” FROM_BASE64(string) --从string返回 base64 解码的结果;如果字符串为 NULL,则返回NULL。 --FROM_BASE64('aGVsbG8gd29ybGQ=')返回“hello world”。 TO_BASE64(string) --从string返回 base64 编码的结果;如果字符串为 NULL,则返回NULL。 --TO_BASE64('hello world')返回“aGVsbG8gd29ybGQ=”。 ASCII(string) -- 返回string的第一个字符的数值 --ascii('abc')返回 97 (a的ascii码),并ascii(CAST(NULL AS VARCHAR))返回 NULL。 CHR(integer) --返回二进制等效于integer的 ASCII 字符.如果整数大于 255,我们将先得到整数除以 255的模数,并返回模数的CHR。如果整数为 NULL,则返回NULL。 --chr(97)返回a,chr(353)返回a DECODE(binary, string) ---使用提供的字符集('US-ASCII'、'ISO-8859-1'、'UTF-8'、'UTF-16BE'、'UTF-16LE'、'UTF- 16') --报错 ENCODE(string1, string2); --使用指定 --select ENCODE('a', 'UTF-8'); --报错 INSTR(string1, string2) --返回string2在string1 中第一次出现的位置 --select INSTR('bcab','a'); 返回3 LEFT(string, integer) --从左边截取 --select LEFT('abc2awe',2); 返回ab RIGHT(string, integer) --从右边截取 --select RIGHT('abcawe',3); 返回awe 从右边截取3个 LOCATE(string1, string2[, integer]) --返回string2中string1在位置integer之后第一次出现的位置。如果未找到,则返回 0 --select LOCATE('abcdefabc','a',3); 返回0 --不符合预期 PARSE_URL(string1, string2[, string3]) --select parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST'); 返回 facebook.com REGEXP(string1, string2) --如果string1 的任何(可能为空)子字符串与 Java 正则表达式string2匹配,则返回 TRUE REVERSE(string) --反转 --select REVERSE('abc'); 返回cba SPLIT_INDEX(string1, string2, integer1) --用分割符分割后取第n个字串(从0开始) --select SPLIT_INDEX('abc|def|ghi','|',2); 返回ghi STR_TO_MAP(string1[, string2, string3]]) --使用分隔符将string1拆分为键/值对后返回一个映射。string2是对分隔符,默认为 ','。而string3是键值分隔符,默认为 '=' --select STR_TO_MAP('a=1,b=2,c=3'); 返回 {a=1, b=2, c=3} --select STR_TO_MAP('a:1|b:2|c:3','|',':'); 返回 的结果不符合预期 {=, a=null, 1=null, b=nu~ SUBSTR(string[, integer1[, integer2]]) --返回字符串的子字符串,从位置 integer1 开始,长度为 integer2(默认到末尾)。 --select substr('abc',1,2); 返回ab
timeintervalunit时间单位:SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,或YEAR。 select REPLACE('hello world', 'world', 'flink') returns "hello flink"; REPLACE('ababab', 'abab', 'z') returns "zab". select CONCAT('AA', 'BB', 'CC') returns "AABBCC"; DATE_FORMAT(timestamp, string) 此功能存在严重错误,暂时不要使用。 INTERVAL string range 使用报错 --select INTERVAL '10 00:00:00.004' DAY TO SECOND; --select INTERVAL '1' HOUR; --select INTERVAL '1' MINUTE; CURRENT_DATE UTC 时区 系统日期 --select CURRENT_DATE; 返回 2021-10-08 CURRENT_TIME UTC 时区 系统时间 --select CURRENT_TIME; 返回 09:25:28.137 CURRENT_TIMESTAMP UTC 时区 系统时间搓,TIMESTAMP 类型 --select CURRENT_TIMESTAMP; 返回 2021-10-08T09:23:15.180 --数据不对,和时区有关系 LOCALTIMESTAMP 本地时区系统时间, TIMESTAMP 类型 --select LOCALTIMESTAMP; 返回 2021-10-08T17:19:47.787 --时间对 LOCALTIME 系统时间字符串(HH:mm:ss) --select LOCALTIME; 返回 17:22:16.212 EXTRACT(timeintervalunit FROM temporal) 取日期中的年/月/日 返回整数 --select EXTRACT(DAY FROM DATE '2006-06-05'); 返回 日 为 5 --select EXTRACT(MONTH FROM DATE '2006-06-05'); 返回 月 为 6 --select EXTRACT(YEAR FROM DATE '2006-06-05'); 返回 年 为 2006 YEAR(date) 年份 --select YEAR(TO_DATE('2021-10-08 08:45:17')); 返回2021 QUARTER(date) 几季度 --select QUARTER(TO_DATE('2021-10-08 08:45:17')); 返回4 MONTH(date) 几月 --select MONTH(TO_DATE('2021-10-08 08:45:17')); 返回 10 WEEK(date) 几周 --select WEEK(TO_DATE('2021-10-08 08:45:17')); 返回 40 DAYOFYEAR(date) 一年中的第几天 --select DAYOFYEAR(TO_DATE('2021-10-08 08:45:17')); 返回281 DAYOFMONTH(date) 一月中的第几天 --select DAYOFMONTH(TO_DATE('2021-10-08 08:45:17')); 返回8 --select DAYOFMONTH(TO_DATE(FROM_UNIXTIME(1631061917))); -- 结果:8 --select DAYOFMONTH(TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP()))); --参数为DATE类型 当前时间为月份中的多少号 14号 DAYOFWEEK(date) 一周中的第几天 --select DAYOFWEEK(TO_DATE('2021-10-08 08:45:17')); 返回6,实际是5 HOUR(timestamp) 返回小时数 --select HOUR(TIMESTAMP '2021-09-08 08:45:17'); 返回 8 MINUTE(timestamp) 返回分钟数 --select MINUTE(TIMESTAMP '2021-09-08 08:45:17'); 返回 45 SECOND(timestamp) 返回秒数 --select SECOND(TIMESTAMP '2021-09-08 08:45:17'); 返回 17 FLOOR(timepoint TO timeintervalunit) 向下取整分钟 --select FLOOR(TIME '12:44:31' TO MINUTE); 返回 12:44 CEIL(timepoint TO timeintervalunit) 向上取整分钟,回合时间点到时间单元timeintervalunit。 -- select CEIL(TIME '12:44:31' TO MINUTE); 返回 12:45 (timepoint1, temporal1) OVERLAPS (timepoint2, temporal2) 由 ( timepoint1 , temporal1 ) 和 ( timepoint2 , temporal2 )定义的两个时间间隔重叠,则返回 TRUE --select (TIME '2:55:00', INTERVAL '1' HOUR) OVERLAPS (TIME '3:30:00', INTERVAL '2' HOUR); 返回true --select (TIME '9:00:00', TIME '10:00:00') OVERLAPS (TIME '10:15:00', INTERVAL '3' HOUR); 返回false DATE string 日期字符串(yyyy-MM-dd)转为 DATE 类型 --select Date '2021-09-08'; 返回 2021-09-08 TIME string 时间字符串转(HH:mm:ss)为 TIME 类型 --select TIME '08:45:17'; 返回 08:45:17 TO_DATE(string1[, string2]) 将日期时间字符串(yyyy-MM-dd HH:mm:ss)转为 DATE 类型 --select TO_DATE(FROM_UNIXTIME(1631061917)) 结果为 2021-09-08 ,因 TO_DATE 是转为日 --select TO_DATE('2021-09-08 08:45:17'); 返回 2021-09-08 TO_TIMESTAMP(string1[, string2]) 将时间字符串转为 TIMESTAMP 类型 --select TO_TIMESTAMP('2021-09-08 08:45:17','yyyy-MM-dd HH:mm:ss'); 返回 2021-09-08T08:45:17 到秒 --select TO_TIMESTAMP('2021-09-08 08:45','yyyy-MM-dd HH:mm'); 返回 2021-09-08T08:45 到分钟 TIMESTAMP string 将时间字符串(“yyyy-MM-dd HH:mm:ss[.SSS]”的形式)转为 TIMESTAMP 类型 --select TIMESTAMP '2021-09-08 08:45:17'; 返回 2021-09-08T08:45:17 NOW() 系统时间,返回 TIMESTAMP 类型 --select NOW(); 返回 2021-10-08T08:50:01.486 UNIX_TIMESTAMP() 系统时间搓,返回整数 --select UNIX_TIMESTAMP(); 返回 1633680986 UNIX_TIMESTAMP(string1[, string2]) 返回整数,时间字符串(默认情况下:yyyy-MM-dd HH:mm:ss 如果未指定)转换为 Unix 时间戳(以秒为单位)。 --select UNIX_TIMESTAMP('2021-09-08 08:45:17','yyyy-MM-dd HH:mm:ss'); 返回 1631061917 FROM_UNIXTIME(numeric[, string]) 将整数转为时间 字符串(默认为 'yyyy-MM-dd HH:mm:ss') 类型 --select FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyy-MM-dd HH:mm'); 返回 2021-10-08 16:28 到分钟 --select FROM_UNIXTIME(1631061917); 返回 2021-09-08 08:45:17 --select FROM_UNIXTIME(UNIX_TIMESTAMP()); 返回当前日期 2021-10-08 16:18:32 --select FROM_UNIXTIME(1631061917) >TIMESTAMPADD(MINUTE, -5, NOW()); --结果: false TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2) 时间搓差。 --select TIMESTAMPDIFF(MINUTE,TIMESTAMP FROM_UNIXTIME(place_time/1000), UNIX_TIMESTAMP())<5 --近5分钟 --select TIMESTAMPDIFF(MINUTE, TIMESTAMP '2003-01-03 10:10:00', TIMESTAMP '2003-01-03 10:00:00'); --结果为-10 后面-前面的 分钟差. TIMESTAMPADD(timeintervalunit, interval, timepoint) 向前/后推时间。timeintervalunit时间单位:SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,或YEAR。 --select TIMESTAMPADD(MINUTE, -5, NOW()) ; --当前时间往前推5分钟: 2021-10-08T08:33:48.108 ,但可能因时区原因有显示的时间有差异 --select TIMESTAMPADD(SECOND, -5, TO_DATE(FROM_UNIXTIME(1631061917))); --按 天取整后 往前推5秒结果:2021-09-07T23:59:55 .往前推5秒钟 1631061917为 2021-09-08 08:45:17 CONVERT_TZ(string1, string2, string3) 将日期时间格式字符串 从时区string2转换为时区string3 --select CONVERT_TZ('1970-01-01 00:00:00', 'UTC', 'America/Los_Angeles'); 返回 1969-12-31 16:00:00
CASE value WHEN value1_1 THEN result1 ELSE resultZ END 满足某一个值 --select CASE 'a' WHEN 'a' THEN 1 ELSE 0 END; 返回 1 --select CASE 'b' WHEN 'a' THEN 1 ELSE 0 END; 返回 0 CASE WHEN condition1 THEN result1 ELSE resultZ END 满足某一个条件时 --select CASE WHEN 10>5 THEN 1 ELSE 0 END; 返回 1 --select CASE WHEN 4>5 THEN 1 ELSE 0 END; 返回 0 NULLIF(value1, value2) 等值判断:如果value1等于value2则返回 NULL ;否则返回value1。 --NULLIF(5, 5)返回NULL;NULLIF(5, 0)返回 5。 COALESCE(value1, value2 [, value3 ]* ) 返回第一个不为 NULL 的值 --select COALESCE(NULL, 5,3); 返回5 IF(condition, true_value, false_value) --select IF(10>5,1,0); 返回 1 IS_ALPHA(string) 字符串中的所有字符都是字母,则返回真,否则返回假。 --select IS_ALPHA('abc'); 返回true --select IS_ALPHA('abc1'); 返回false IS_DECIMAL(string) 如果string可以解析为有效数字,则返回 true ,否则返回 false。 --select IS_DECIMAL('123'); 返回true --select IS_DECIMAL('abc1'); 返回false IS_DIGIT(string) 如果字符串中的所有字符都是数字,则返回真,否则返回假。 --select IS_DIGIT('123'); 返回true --select IS_DIGIT('abc1'); 返回false
CAST(value AS type) 强转
--select CAST('42' AS INT); 返回 42;
--select CAST(NULL AS VARCHAR); 返回 VARCHAR 类型的 NULL。
array [ value1,value2... ] 构建 数组
数组名[n] 取数组的第n个元素。索引从 1 开始
--select arr[2] from (select array [1,4,5] arr)t; 返回 4
--select array ['a','b','c']; 返回 [a, b, c]
map [key1,value1,key2,value2] 构建map集合
集合名[key值] 取key对应的value
--select mp[2] from (select map [1,'a',2,'b'] mp)t; 返回 b
--select map [1,'a',2,'b']; 返回 {1=a, 2=b}
CARDINALITY(map) 返回map 中的条目数 。
--select CARDINALITY(map [1,'a',2,'b']); 返回 2
CARDINALITY(array) 返回array 中的元素个数。
select CARDINALITY(array [1,2,3,0,0]); 返回5
ELEMENT(array) 返回数组的唯一元素(其基数应为 1);如果数组为空,则返回 NULL 。如果数组有多个元素,则抛出异常。
--select ELEMENT(array [1,2,3,0,0]) ; --执行失败
--select ELEMENT(array [2]) ; 返回2
tableName.compositeType.field 按名称从 Flink 复合类型(例如,Tuple、POJO)返回字段的值。
tableName.compositeType.* 返回 Flink 复合类型(例如,Tuple、POJO)的平面表示,将其每个直接子类型转换为单独的字段。在大多数情况下,平面表示的字段与原始字段的命名类似,但使用美元分隔符(例如,mypojo$mytuple$f0)。
GROUP_ID() 返回唯一标识分组键组合的整数。
GROUPING(expression1 [, expression2]* )
GROUPING_ID(expression1 [, expression2]* )
返回给定分组表达式的位向量。
MD5(string) 以 32 个十六进制数字的字符串形式返回string的 MD5 哈希值;如果字符串为 NULL,则返回NULL。
SHA1(string) 以 40 个十六进制数字的字符串形式返回string的 SHA-1 哈希值;如果字符串为 NULL,则返回NULL。
SHA224(string) 以 56 个十六进制数字的字符串形式返回string的 SHA-224 哈希值;如果字符串为 NULL,则返回NULL。
SHA256(string) 以 64 个十六进制数字的字符串形式返回string的 SHA-256 哈希值;如果字符串为 NULL,则返回NULL。
SHA384(string) 以 96 个十六进制数字的字符串形式返回string的 SHA-384 哈希值;如果字符串为 NULL,则返回NULL。
SHA512(string) 以 128 个十六进制数字的字符串形式返回string的 SHA-512 哈希值;如果字符串为 NULL,则返回NULL。
SHA2(string, hashLength) 使用 SHA-2 系列散列函数(SHA-224、SHA-256、SHA-384 或 SHA-512)返回散列。第一个参数字符串是要散列的字符串,第二个参数hashLength是结果的位长(224、256、384或 512)。如果string或hashLength为 NULL,则返回NULL
COUNT([ ALL ] expression | DISTINCT expression1 [, expression2]*) 默认情况下或使用 ALL,返回表达式不为 NULL的输入行数。对每个值的一个唯一实例使用 DISTINCT。 COUNT(*) COUNT(1) 返回输入行数。 AVG([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行中表达式的平均值(算术平均值)。对每个值的一个唯一实例使用 DISTINCT。 SUM([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行的表达式总和。对每个值的一个唯一实例使用 DISTINCT。 MAX([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行中表达式的最大值。对每个值的一个唯一实例使用 DISTINCT。 MIN([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行中表达式的最小值。对每个值的一个唯一实例使用 DISTINCT。 STDDEV_POP([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行中表达式的总体标准偏差。对每个值的一个唯一实例使用 DISTINCT。 STDDEV_SAMP([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行中表达式的样本标准偏差。对每个值的一个唯一实例使用 DISTINCT。 VAR_POP([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行中表达式的总体方差(总体标准差的平方)。对每个值的一个唯一实例使用 DISTINCT。 VAR_SAMP([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回所有输入行中表达式的样本方差(样本标准差的平方)。对每个值的一个唯一实例使用 DISTINCT。 COLLECT([ ALL | DISTINCT ] expression) 默认情况下或使用关键字 ALL,返回跨所有输入行的多组表达式。NULL 值将被忽略。对每个值的一个唯一实例使用 DISTINCT。 VARIANCE([ ALL | DISTINCT ] expression) VAR_SAMP() 的同义词。仅在眨眼规划器中受支持。 RANK() 返回值在一组值中的排名。结果是 1 加上分区顺序中当前行之前或等于当前行的行数。这些值将在序列中产生间隙。仅在眨眼规划器中受支持。 DENSE_RANK() 返回值在一组值中的排名。结果是一加先前分配的等级值。与函数 rank 不同,dense_rank 不会在排名序列中产生间隙。仅在眨眼规划器中受支持。 ROW_NUMBER() 根据窗口分区内行的顺序,为每一行分配一个唯一的序列号,从一开始。 ROW_NUMBER 和 RANK 相似。ROW_NUMBER 按顺序对所有行进行编号(例如 1、2、3、4、5)。RANK 为平局提供相同的数值(例如 1、2、2、4、5)。仅在眨眼规划器中受支持。 LEAD(expression [, offset] [, default] ) 返回窗口中当前行之前偏移第 th 行处的expression值。的默认值的偏移是1和默认值默认为NULL。仅在眨眼规划器中受支持。 LAG(expression [, offset] [, default]) 返回窗口中当前行后偏移第 th 行处的expression值。的默认值的偏移是1和默认值默认为NULL。 仅在眨眼规划器中受支持。 FIRST_VALUE(expression) 返回一组有序值中的第一个值。 仅在眨眼规划器中受支持。 LAST_VALUE(expression) 返回一组有序值中的最后一个值。仅在眨眼规划器中受支持。 LISTAGG(expression [, separator]) 连接字符串表达式的值并在它们之间放置分隔符值。字符串末尾不添加分隔符。分隔符的默认值为“,”。仅在眨眼规划器中受支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。