DataWorks函数
文章目录
- 0、MaxCompute预置的函数分类
- 1、日期函数
- 2、数学函数
- 3、算术运算符
- 4、窗口函数
- 5、聚合函数
- 6、字符串函数
- 7、复杂类型函数
- 8、加密函数
- 9、其他函数
0、MaxCompute预置的函数分类
函数类型 | 说明 |
---|---|
日期函数 | 支持处理DATE、DATETIME、TIMESTAMP等日期类型数据,实现加减日期、计算日期差值、提取日期字段、获取当前时间、转换日期格式等业务处理能力。 |
数学函数 | 支持处理BIGINT、DOUBLE、DECIMAL、FLOAT等数值类型数据,实现转换进制、数学运算、四舍五入、获取随机数等业务处理能力。 |
窗口函数 | 支持在指定的开窗列中,实现求和、求最大最小值、求平均值、求中间值、数值排序、数值偏移、抽样等业务处理能力。 |
聚合函数 | 支持将多条输入记录聚合成一条输出值,实现求和、求平均值、求最大最小值、求平均值、参数聚合、字符串连接等业务处理能力。 |
字符串函数 | 支持处理STRING类型字符串,实现截取字符串、替换字符串、查找字符串、转换大小写、转换字符串格式等业务处理能力。 |
复杂类型函数 | 支持处理MAP、ARRAY、STRUCT及JSON类型数据,实现去重元素、聚合元素、元素排序、合并元素等业务处理能力。 |
加密函数 | 支持处理STRING、BINARY类型的表数据,实现加密、解密等业务处理能力。 |
其他函数 | 除上述函数之外,提供支持其他业务场景的函数。 |
1、日期函数
MaxCompute SQL提供了如下日期函数,您可以根据实际需要选择合适的日期函数,完成日期计算、日期转换。
函数 | 小写 | 功能 |
---|---|---|
DATEADD | dateadd | 按照指定的单位和幅度修改日期值。 |
DATE_ADD | date_add | 按照指定的幅度增减天数,与date_sub 的增减逻辑相反。 |
DATE_FORMAT | date_format | 将日期值转换为指定格式的字符串。 |
DATE_SUB | date_sub | 按照指定的幅度增减天数,与date_add 的增减逻辑相反。 |
DATEDIFF | datediff | 计算两个日期的差值并按照指定的单位表示。 |
DATEPART | datepart | 提取日期中符合指定时间单位的字段值。 |
DATETRUNC | datetrunc | 提取日期按照指定时间单位截取后的值。 |
FROM_UNIXTIME | from_unixtime | 将数字型的UNIX值转换为日期值。 |
GETDATE | getdate | 获取当前系统时间。 |
ISDATE | isdate | 判断一个日期字符串能否根据指定的格式串转换为一个日期值。 |
LASTDAY | lastday | 获取日期所在月的最后一天。 |
TO_DATE | to_date | 将指定格式的字符串转换为日期值。 |
TO_CHAR | to_char | 将日期按照指定格式转换为字符串。 |
UNIX_TIMESTAMP | unix_timestamp | 将日期转换为整型的UNIX格式的日期值。 |
WEEKDAY | weekday | 返回日期值是当前周的第几天。 |
WEEKOFYEAR | weekofyear | 返回日期值位于当年的第几周。 |
ADD_MONTHS | add_months | 计算日期值增加指定月数后的日期。 |
CURRENT_TIMESTAMP | current_timestamp | 返回当前TIMESTAMP类型的时间戳。 |
CURRENT_TIMEZONE | current_timezone | 返回当前系统的时区信息。 |
DAY | day | 返回日期值的天。 |
DAYOFMONTH | dayofmonth | 返回日部分的值。 |
DAYOFWEEK | dayofweek | 返回日期的星期值。 |
DAYOFYEAR | dayofyear | 返回日期是当年中的第几天。 |
EXTRACT | extract | 获取日期TIMESTAMP中指定单位的部分。 |
FROM_UTC_TIMESTAMP | from_utc_timestamp | 将一个UTC时区的时间戳转换为一个指定时区的时间戳。 |
HOUR | hour | 返回日期小时部分的值。 |
LAST_DAY | last_day | 返回日期值所在月份的最后一天日期。 |
MINUTE | minute | 返回日期分钟部分的值。 |
MONTH | month | 返回日期值所属月份。 |
MONTHS_BETWEEN | months_between | 返回指定日期值间的月数。 |
NEXT_DAY | next_day | 返回大于日期值且与指定周相匹配的第一个日期。 |
QUARTER | quarter | 返回日期值所属季度。 |
SECOND | second | 返回日期秒数部分的值。 |
TO_MILLIS | to_millis | 将指定日期转换为以毫秒为单位的UNIX时间戳。 |
YEAR | year | 返回日期值的年。 |
2、数学函数
MaxCompute SQL提供了如下数学函数供您在开发过程中使用,您可以根据实际需要选择合适的数学函数,进行数据计算、数据转换相关操作。
函数 | 小写 | 功能 |
---|---|---|
ABS | abs | 计算绝对值。 |
ACOS | acos | 计算反余弦值。 |
ASIN | asin | 计算反正弦值。 |
ATAN | atan | 计算反正切值。 |
ATAN2 | atan2 | 计算expr1/expr2的反正切函数。 |
CEIL | ceil | 计算向上取整值。 |
CONV | conv | 计算进制转换值。 |
COS | cos | 计算余弦值。 |
COSH | cosh | 计算双曲余弦值。 |
COT | cot | 计算余切值。 |
EXP | exp | 计算指数值。 |
FLOOR | floor | 计算向下取整值。 |
ISNAN | isnan | 判断表达式的值是否是NaN。 |
LN | ln | 计算自然对数。 |
LOG | log | 计算log对数值。 |
NEGATIVE | negative | 返回表达式的负值。 |
POSITIVE | positive | 返回表达式的值。 |
POW | pow | 计算幂值。 |
RAND | rand | 返回随机数。 |
ROUND | round | 返回四舍五入到指定小数点位置的值。 |
SIN | sin | 计算正弦值。 |
SINH | sinh | 计算双曲正弦值。 |
SQRT | sqrt | 计算平方根。 |
TAN | tan | 计算正切值。 |
TANH | tanh | 计算双曲正切值。 |
TRUNC | trunc | 返回截取到指定小数点位置的值。 |
BIN | bin | 计算二进制代码值。 |
CBRT | cbrt | 计算立方根值。 |
CORR | corr | 计算皮尔逊系数。 |
DEGREES | degrees | 将弧度转换为角度。 |
E | e | 返回e的值。 |
FACTORIAL | factorial | 计算阶乘值。 |
FORMAT_NUMBER | format_number | 将数字转化为指定格式的字符串。 |
HEX | hex | 返回整数或字符串的十六进制格式。 |
LOG2 | log2 | 计算以2为底的对数。 |
LOG10 | log10 | 计算以10为底的对数。 |
PI | pi | 返回π的值。 |
RADIANS | radians | 将角度转换为弧度。 |
SIGN | sign | 返回输入参数的符号。 |
SHIFTLEFT | shiftleft | 计算按位左移值。 |
SHIFTRIGHT | shiftright | 计算按位右移值。 |
SHIFTRIGHTUNSIGNED | shiftrightunsigned | 计算无符号按位右移值。 |
UNHEX | unhex | 返回十六进制字符串所代表的字符串。 |
WIDTH_BUCKET | width_bucket | 返回指定字段值落入的分组编号。 |
3、算术运算符
运算符 | 说明 |
---|---|
A+B | A或B为NULL,返回NULL,否则返回A+B的结果。 |
A-B | A或B为NULL,返回NULL,否则返回A-B的结果。 |
A*B | A或B为NULL,返回NULL,否则返回A×B的结果。 |
A/B | A或B为NULL,返回NULL,否则返回A÷B的结果。说明如果A和B为BIGINT类型,返回结果为DOUBLE类型。 |
A%B | A或B为NULL,返回NULL,否则返回A÷B并取余数的结果。 |
+A | 仍然返回A。 |
-A | 如果A为NULL,返回NULL,否则返回-A。 |
A DIV B | A或B为NULL,返回NULL,否则返回A DIV B的结果。 |
4、窗口函数
MaxCompute SQL提供了如下窗口函数,使用窗口函数对指定开窗列的数据灵活地进行分析处理工作。
函数 | 小写 | 功能 |
---|---|---|
ROW_NUMBER | row_number | 计算行号。从1开始递增。 |
RANK | rank | 计算排名。排名可能不连续。 |
DENSE_RANK | dense_rank | 计算排名。排名是连续的。 |
PERCENT_RANK | percent_rank | 计算排名。输出百分比格式。 |
CUME_DIST | cume_dist | 计算累计分布。 |
NTILE | ntile | 将数据顺序切分成N等份,返回数据所在等份的编号(从1到N)。 |
LAG | lag | 取当前行往前(朝分区头部方向)第N行数据的值。 |
LEAD | lead | 取当前行往后(朝分区尾部方向)第N行数据的值。 |
FIRST_VALUE | first_value | 取当前行所对应窗口的第一条数据的值。 |
LAST_VALUE | last_value | 取当前行所对应窗口的最后一条数据的值。 |
NTH_VALUE | nth_value | 取当前行所对应窗口的第N条数据的值。 |
CLUSTER_SAMPLE | cluster_sample | 用户随机抽样。返回True表示该行数据被抽中。 |
COUNT | count | 计算窗口中的记录数。 |
MIN | min | 计算窗口中的最小值。 |
MAX | max | 计算窗口中的最大值。 |
AVG | avg | 对窗口中的数据求平均值。 |
SUM | sum | 对窗口中的数据求和。 |
MEDIAN | median | 计算窗口中的中位数。 |
STDDEV | stddev | 计算总体标准差。是STDDEV_POP的别名。 |
STDDEV_SAMP | stddev_samp | 计算样本标准差。 |
5、聚合函数
MaxCompute SQL支持的聚合函数如下。
函数 | 小写 | 功能 |
---|---|---|
AVG | avg | 计算平均值。 |
COUNT | count | 计算记录数。 |
COUNT_IF | count_if | 计算指定表达式为True的记录数。 |
MAX | max | 计算最大值。 |
MIN | min | 计算最小值。 |
MEDIAN | median | 计算中位数。 |
STDDEV | stddev | 计算总体标准差。 |
STDDEV_SAMP | stddev_samp | 计算样本标准差。 |
SUM | sum | 计算汇总值。 |
WM_CONCAT | wm_concat | 用指定的分隔符连接字符串。 |
ANY_VALUE | any_value | 在指定范围内任选一个值返回。 |
APPROX_DISTINCT | approx_distinct | 返回输入的非重复值的近似数目。 |
ARG_MAX | arg_max | 返回指定列的最大值对应行的列值。 |
ARG_MIN | arg_min | 返回指定列的最小值对应行的列值。 |
MAX_BY | max_by | 返回指定列的最大值对应行的列值。 |
MIN_BY | min_by | 返回指定列的最小值对应行的列值。 |
COLLECT_LIST | collect_list | 将指定的列聚合为一个数组。 |
COLLECT_SET | collect_set | 将指定的列聚合为一个无重复元素的数组。 |
COVAR_POP | covar_pop | 计算指定两个数值列的总体协方差。 |
COVAR_SAMP | covar_samp | 计算指定两个数值列的样本协方差。 |
NUMERIC_HISTOGRAM | numeric_histogram | 统计指定列的近似直方图。 |
PERCENTILE | percentile | 计算精确百分位数,适用于小数据量。 |
PERCENTILE_APPROX | percentile_approx | 计算近似百分位数,适用于大数据量。 |
VARIANCE/VAR_POP | variance/var_pop | 计算指定数值列的方差。 |
VAR_SAMP | var_samp | 计算指定数值列的样本方差。 |
BITWISE_OR_AGG | bitwise_or_agg | 计算输入Value的bit OR聚合值。 |
BITWISE_AND_AGG | bitwise_and_agg | 计算输入Value的bit AND聚合值。 |
MAP_AGG | map_agg | 构造两个输入字段的Map。 |
MULTIMAP_AGG | multimap_agg | 构造两个输入字段的Map,第一个字段作为Map的Key,第二个字段构造数组作为Map的Value。 |
MAP_UNION | map_union | 对输入Map进行Union操作来构造输出Map。 |
MAP_UNION_SUM | map_union_sum | 对输入Map进行Union操作并对相同Key的Value求和来构造输出Map。 |
HISTOGRAM | histogram | 构造输入Map的Key值出现次数的Map。 |
6、字符串函数
MaxCompute SQL支持的字符串函数如下。其中字符串函数的使用限制请参见字符串函数的使用限制。
函数 | 小写 | 功能 |
---|---|---|
ASCII | ascii | 返回字符串的第一个字符的ASCII码。 |
CHAR_MATCHCOUNT | char_matchcount | 计算A字符串出现在B字符串中的字符个数。 |
CHR | chr | 将指定ASCII码转换成字符。 |
CONCAT | concat | 将字符串连接在一起。 |
CONCAT_WS | concat_ws | 将参数中的所有字符串按照指定的分隔符连接在一起。 |
DECODE | decode | 将字符串按照指定编码格式解码。 |
ENCODE | encode | 将字符串按照指定编码格式编码。 |
FIND_IN_SET | find_in_set | 在以逗号分隔的字符串中查找指定字符串的位置。 |
FORMAT_NUMBER | format_number | 将数字转化为指定格式的字符串。 |
FROM_JSON | from_json | 根据给定的JSON字符串和输出格式信息,返回ARRAY、MAP或STRUCT类型。 |
GET_JSON_OBJECT | get_json_object | 在一个标准JSON字符串中,按照指定方式抽取指定的字符串。 |
INITCAP | initcap | 将字符串转换为固定格式的字符串,单词之间以空格分隔。转换后的格式为:字符串中每个单词首字母大写,其余小写。 |
INSTR | instr | 计算A字符串在B字符串中的位置。 |
IS_ENCODING | is_encoding | 判断字符串是否可以从指定的A字符集转换为B字符集。 |
KEYVALUE | keyvalue | 将字符串拆分为Key-Value对,并将Key-Value对分开,返回Key对应的Value。 |
KEYVALUE_TUPLE | keyvalue_tuple | 将字符串拆分为多个Key-Value对,并将Key-Value对分开,返回多个Key对应的Value。 |
LENGTH | length | 计算字符串的长度。 |
LENGTHB | lengthb | 计算字符串以字节为单位的长度。 |
LOCATE | locate | 在字符串中查找另一指定字符串的位置。 |
LTRIM | ltrim | 去除字符串的左端字符。 |
MD5 | md5 | 计算字符串的MD5值。 |
PARSE_URL | parse_url | 对URL进行解析返回指定部分的信息。 |
PARSE_URL_TUPLE | parse_url_tuple | 对URL进行解析返回多个部分的信息。 |
REGEXP_COUNT | regexp_count | 计算字符串从指定位置开始,匹配指定规则的子串数。 |
REGEXP_EXTRACT | regexp_extract | 将字符串按照指定规则拆分为组后,返回指定组的字符串。 |
REGEXP_INSTR | regexp_instr | 返回字符串从指定位置开始,与指定规则匹配指定次数的子串的起始或结束位置。 |
REGEXP_REPLACE | regexp_replace | 将字符串中,与指定规则在指定次数匹配的子串替换为另一字符串。 |
REGEXP_SUBSTR | regexp_substr | 返回字符串中,从指定位置开始,与指定规则匹配指定次数的子串。 |
REPEAT | repeat | 返回将字符串重复指定次数后的结果。 |
REVERSE | reverse | 返回倒序字符串。 |
RTRIM | rtrim | 去除字符串的右端字符。 |
SPACE | space | 生成空格字符串。 |
SPLIT_PART | split_part | 按照分隔符拆分字符串,返回指定部分的子串。 |
SUBSTR | substr | 返回STRING类型字符串从指定位置开始,指定长度的子串。 |
SUBSTRING | substring | 返回STRING或BINARY类型字符串从指定位置开始,指定长度的子串。 |
TO_CHAR | to_char | 将BOOLEAN、BIGINT、DECIMAL或DOUBLE类型值转为对应的STRING类型表示。 |
TO_JSON | to_json | 将指定的复杂类型输出为JSON字符串。 |
TOLOWER | tolower | 将字符串中的英文字符转换为小写形式。 |
TOUPPER | toupper | 将字符串中的英文字符转换为大写形式。 |
TRIM | trim | 去除字符串的左右两端字符。 |
URL_DECODE | url_decode | 将字符串从application/x-www-form-urlencoded MIME 格式转为常规字符。 |
URL_ENCODE | url_encode | 将字符串编码为application/x-www-form-urlencoded MIME 格式。 |
JSON_TUPLE | json_tuple | 在一个标准的JSON字符串中,按照输入的一组键抽取各个键指定的字符串。 |
LPAD | lpad | 将字符串向左补足到指定位数。 |
RPAD | rpad | 将字符串向右补足到指定位数。 |
REPLACE | replace | 将字符串中与指定字符串匹配的子串替换为另一字符串。 |
SOUNDEX | soundex | 将普通字符串替换为SOUNDEX字符串。 |
SUBSTRING_INDEX | substring_index | 截取字符串指定分隔符前的字符串。 |
TRANSLATE | translate | 将A出现在B中的字符串替换为C字符串。 |
REGEXP_EXTRACT_ALL | regexp_extract_all | 在字符串中查找所有出现的正则表达式匹配的子字符串,并把找到的字符串以数组形式返回。 |
7、复杂类型函数
MaxCompute SQL支持的复杂类型函数如下。其中JSON函数的使用限制请参见JSON函数的使用限制。
函数 | 小写 | 功能 |
---|---|---|
ARRAY函数 | array函数 | |
ALL_MATCH | all_match | 判断ARRAY数组中是否所有元素都满足指定条件。 |
ANY_MATCH | any_match | 判断ARRAY数组中是否存在满足指定条件的元素。 |
ARRAY | array | 使用给定的值构造ARRAY。 |
ARRAY_CONTAINS | array_contains | 检测指定的ARRAY中是否包含指定的值。 |
ARRAY_DISTINCT | array_distinct | 去除ARRAY数组中的重复元素。 |
ARRAY_EXCEPT | array_except | 找出在ARRAY A中,但不在ARRAY B中的元素,并去掉重复的元素后,以ARRAY形式返回结果。 |
ARRAY_INTERSECT | array_intersect | 计算两个ARRAY数组的交集。 |
ARRAY_JOIN | array_join | 将ARRAY数组中的元素按照指定字符串进行拼接。 |
ARRAY_MAX | array_max | 计算ARRAY数组中的最大值。 |
ARRAY_MIN | array_min | 计算ARRAY数组中的最小值。 |
ARRAY_POSITION | array_position | 计算指定元素在ARRAY数组中第一次出现的位置。 |
ARRAY_REDUCE | array_reduce | 将ARRAY数组的元素进行聚合。 |
ARRAY_REMOVE | array_remove | 在ARRAY数组中删除指定元素。 |
ARRAY_REPEAT | array_repeat | 返回将指定元素重复指定次数后的ARRAY数组。 |
ARRAY_SORT | array_sort | 将ARRAY数组的元素进行排序。 |
ARRAY_UNION | array_union | 计算两个ARRAY数组的并集并去掉重复元素。 |
ARRAYS_OVERLAP | arrays_overlap | 判断两个ARRAY数组中是否包含相同元素。 |
ARRAYS_ZIP | arrays_zip | 合并多个ARRAY数组。 |
CONCAT | concat | 将ARRAY数组或字符串连接在一起。 |
EXPLODE | explode | 将一行数据转为多行的UDTF。 |
FILTER | filter | 将ARRAY数组中的元素进行过滤。 |
INDEX | index | 返回ARRAY数组指定位置的元素值。 |
POSEXPLODE | posexplode | 将指定的ARRAY展开,每个Value一行,每行两列分别对应数组从0开始的下标和数组元素。 |
SIZE | size | 返回指定ARRAY中的元素数目。 |
SLICE | slice | 对ARRAY数据切片,返回从指定位置开始、指定长度的数组。 |
SORT_ARRAY | sort_array | 为指定的数组中的元素排序。 |
TRANSFORM | transform | 将ARRAY数组中的元素进行转换。 |
ZIP_WITH | zip_with | 将2个ARRAY数组按照位置进行元素级别的合并。 |
MAP函数 | map函数 | |
EXPLODE | explode | 将一行数据转为多行的UDTF。 |
INDEX | index | 返回MAP类型参数中满足指定条件的Value。 |
MAP | map | 使用指定的Key-Value对建立MAP。 |
MAP_CONCAT | map_concat | 返回多个MAP的并集。 |
MAP_ENTRIES | map_entries | 将MAP中的Key、Value键值映射转换为STRUCT结构数组。 |
MAP_FILTER | map_filter | 将MAP中的元素进行过滤。 |
MAP_FROM_ARRAYS | map_from_arrays | 通过给定的ARRAY数组构造MAP。 |
MAP_FROM_ENTRIES | map_from_entries | 通过给定的结构体数组构造MAP。 |
MAP_KEYS | map_keys | 将参数MAP中的所有Key作为数组返回。 |
MAP_VALUES | map_values | 将参数MAP中的所有Value作为数组返回。 |
MAP_ZIP_WITH | map_zip_with | 对输入的两个MAP进行合并得到一个新MAP。 |
SIZE | size | 返回指定MAP中的K/V对数。 |
TRANSFORM_KEYS | transform_keys | 对MAP进行变换,保持Value不变,根据指定函数计算新的Key。 |
TRANSFORM_VALUES | transform_values | 对MAP进行变换,保持Key不变,根据指定函数计算新的Value。 |
STRUCT函数 | struct函数 | |
FIELD | field | 获取STRUCT中的成员变量的取值。 |
INLINE | inline | 将指定的STRUCT数组展开。每个数组元素对应一行,每行每个STRUCT元素对应一列。 |
STRUCT | struct | 使用给定Value列表建立STRUCT。 |
NAMED_STRUCT | named_struct | 使用给定的Name、Value列表建立STRUCT。 |
JSON函数 | json函数 | |
FROM_JSON | from_json | 根据给定的JSON字符串和输出格式信息,返回ARRAY、MAP或STRUCT类型。 |
GET_JSON_OBJECT | get_json_object | 在一个标准JSON字符串中,按照指定方式抽取指定的字符串。 |
JSON_TUPLE | json_tuple | 在一个标准的JSON字符串中,按照输入的一组键抽取各个键指定的字符串。 |
TO_JSON | to_json | 将指定的复杂类型输出为JSON字符串。 |
JSON_OBJECT | json_object | 生成JSON OBJECT,要求key和value成对出现。 |
JSON_ARRAY | json_array | 生成JSON ARRAY。将一个可能为空的JSON类型对象,转换为包含这些类型的数组。 |
JSON_EXTRACT | json_extract | 解析JSON表达式中对应json_path的数据,注意json_path非法时会报错。 |
JSON_EXISTS | json_exists | 查看json_path对应的JSON值是否存在。 |
JSON_PRETTY | json_pretty | 美化JSON,增加换行及空格。 |
JSON_TYPE | json_type | 返回JSON数据所属的数据类型名称。 |
JSON_FORMAT | json_format | 将JSON数据转换成STRING类型,默认不自动进行美化。 |
JSON_PARSE | json_parse | 将STRING类型转成JSON类型,非JSON格式转换为字符串会报错。 |
JSON_VALID | json_valid | 检查字符串是否为合法的JSON格式。 |
CAST | cast | 支持基本类型与JSON类型的转换。 |
8、加密函数
MaxCompute SQL支持的加密函数如下。
函数 | 小写 | 功能 |
---|---|---|
SYM_ENCRYPT | sym_encrypt | 对表里的指定列做随机性加密,返回BINARY类型的密文。 |
SYM_DECRYPT | sym_decrypt | 对表里的指定已经随机性加密的列做解密,BINARY类型的明文。 |
9、其他函数
MaxCompute SQL支持的其他类型函数如下。
函数 | 小写 | 功能 |
---|---|---|
BASE64 | base64 | 将二进制表示值转换为BASE64编码格式字符串。 |
BETWEEN AND | between and | 筛选满足区间条件的数据。 |
CASE WHEN | case when | 根据表达式的计算结果,灵活地返回不同的值。 |
CAST | cast | 将表达式的结果转换为目标数据类型。 |
COALESCE | coalesce | 返回参数列表中第一个非NULL的值。 |
COMPRESS | compress | 对STRING或BINARY类型输入参数按照GZIP算法进行压缩。 |
CRC32 | crc32 | 计算字符串或二进制数据的循环冗余校验值。 |
DECODE | decode | 实现if-then-else 分支选择的功能。 |
DECOMPRESS | decompress | 对BINARY类型输入参数按照GZIP算法进行解压。 |
GET_IDCARD_AGE | get_idcard_age | 根据身份证号码返回当前的年龄。 |
GET_IDCARD_BIRTHDAY | get_idcard_birthday | 根据身份证号码返回出生日期。 |
GET_IDCARD_SEX | get_idcard_sex | 根据身份证号码返回性别。 |
GET_USER_ID | get_user_id | 获取当前账号的账号ID。 |
GREATEST | greatest | 返回输入参数中最大的值。 |
HASH | hash | 根据输入参数计算Hash值。 |
IF | if | 判断指定的条件是否为真。 |
LEAST | least | 返回输入参数中最小的值。 |
MAX_PT | max_pt | 返回分区表的一级分区的最大值。 |
NULLIF | nullif | 比较两个入参是否相等。 |
NVL | nvl | 指定值为NULL的参数的返回结果。 |
ORDINAL | ordinal | 将输入变量按从小到大排序后,返回指定位置的值。 |
PARTITION_EXISTS | partition_exists | 查询指定的分区是否存在。 |
SAMPLE | sample | 对所有读入的列值,采样并过滤掉不满足采样条件的行。 |
SHA | sha | 计算字符串或二进制数据的SHA-1哈希值。 |
SHA1 | sha1 | 计算字符串或二进制数据的SHA-1哈希值。 |
SHA2 | sha2 | 计算字符串或二进制数据的SHA-2哈希值。 |
SIGN | sign | 判断正负值属性。 |
SPLIT | split | 将字符串按照指定的分隔符分割后返回数组。 |
STACK | stack | 将指定的参数组分割为指定的行数。 |
STR_TO_MAP | str_to_map | 将字符串按照指定的分隔符分割得到Key和Value。 |
TABLE_EXISTS | table_exists | 查询指定的表是否存在。 |
TRANS_ARRAY | trans_array | 将一行数据转为多行的UDTF,将列中存储的以固定分隔符格式分隔的数组转为多行。 |
TRANS_COLS | trans_cols | 将一行数据转为多行数据的UDTF,将不同的列拆分为不同的行。 |
UNBASE64 | unbase64 | 将BASE64编码格式字符串转换为二进制表示值。 |
UNIQUE_ID | unique_id | 返回一个随机ID,运行效率高于UUID函数。 |
UUID | uuid | 返回一个随机ID。 |
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
DataWorks函数
文章目录 0、MaxCompute预置的函数分类1、日期函数2、数学函数3、算术运算符4、窗口函数5、聚合函数6、字符串函数7、复杂类型函数8、加密函数9、其他函数 0、MaxCompute预置的函数分类 函数类型说明日期函数支持处理DATE、DATETIME、TIMESTAMP等日期类型数据,实现…...
![](https://i-blog.csdnimg.cn/direct/a31cbc4348504b258d1b83f711de2a82.png)
设计模式学习优质网站分享:refactoring.guru
地址 英文版地址:https://refactoring.guru/design-patterns 中文版地址:https://refactoringguru.cn/design-patterns 介绍 这个网站是专门学习 设计模式 和 软件重构 的网站 整体来说并不花哨,但我觉得他最大的优点就是: 概…...
![](https://www.ngui.cc/images/no-images.jpg)
JVM-Java的四种引用
引用分析 无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否可达,判定对象是否可被回收都与引用有关,Java 提供了四种强度不同的引用类型 强引用: 被强引用关联的对象不会被回收,只有所…...
![](https://i-blog.csdnimg.cn/direct/5767683d3bea4bde84a0e8500ded2377.jpeg)
探索《黑神话:悟空》品质保障的背后:ISO体系认证
《黑神话:悟空》横空出世 8月20日上午10点,国产首款大型3A游戏《黑神话:悟空》正式上线。游戏一经上线便吸引了无数国内外用户的关注,不仅仅是因为其高超的游戏制作技术,极高的画面精度,精良的的视觉和战斗…...
![](https://i-blog.csdnimg.cn/direct/a7dae709ca4e4e4494585bc24b4c1bab.png)
ArcGIS Pro 实现人口分布栅格TIFF数据的网格提取与可视化
这里在分享一个人口1km精度栅格数据,LandScan是由美国能源部橡树岭国家实验室(ORNL)提供的全球人口分布数据集,具有最高分辨率的全球人口分布数据,是全球人口数据发布的社会标准,是全球最为准确、可靠&…...
![](https://www.ngui.cc/images/no-images.jpg)
select的缺点;poll ;poll的缺点;epoll
1.select的缺点: 1.select监听的文件描述符集合是一个数组,有上限(1024个) 2.select监听的文件描述符集合在应用层,内核层监听事件后需要传递给用户层带来资源开销 3.select需要用户手动查找产生事件的文件…...
![](https://i-blog.csdnimg.cn/direct/a9b7485e14e64e6cbd718e52e4ce5c92.png)
keli5_报错 Cannot Load Device Description问题
1原因 之前创建的keli5的项目软件版本与当前的软件版本不同 使其算法要重新选择 2解决方法 2-1 点击图中的魔术棒 2-2 在这个界面中进入 Settings选项(ST-Link Debugger 旁边) 2-3 点击Flash Download 选项进入图中界面 在点击天加 2-4选择fla…...
![](https://img-blog.csdnimg.cn/img_convert/bf71ac921597a3d8eb88e6eb0a11dae7.gif)
算法的学习笔记—把二叉树打印成多行(牛客JZ78)
😀前言 在算法面试中,二叉树的层序遍历是一个经典的题目。而这道题的要求是进一步将二叉树的每一层结点值打印成多行,即同一层结点从左至右输出,最终结果存放到一个二维数组中返回。接下来,我们将通过代码实例详细解析…...
![](https://i-blog.csdnimg.cn/direct/39122efd3b8d437282233be109a18ed5.png)
FreeRTOS 时间管理
延时函数介绍 函数 描述 vTaskDelay() 相对延时 xTaskDelayUntil() 绝对延时 相对延时:指每次延时都是从执行函数vTaskDelay()开始,直到延时指定的时间结束 绝对延时:指将整个任务的运行周期看成一个整体,适用于需要按…...
![](https://www.ngui.cc/images/no-images.jpg)
F. Valuable Cards D. Smithing Skill
D题 F题 F题: 因为是连续的且都要选,我们直接从左到右去取每个区间到不合法的情况即可,可以在n1的位置添加一个x来结束区间判断。因为是要乘积为x,那么我们只需要放x的因子进去,不然会超时,同时也可以用v…...
![](https://i-blog.csdnimg.cn/direct/d719126837d54f13a8908a9b692a3a93.png)
【电子通识】IPC-A-600中对验收标准的定义
在文章【电子通识】IPC-A-610标准对产品的四种验收条件都是什么意思?中我们讲到IPC-A-610标准(电子组件的可接受性)对于产品的四种验收条件。本文中我们同理讲一讲IPC-A-600中对验收标准的定义。 IPC-A-600文件中的多数示意图和照片同时表示每…...
![](https://i-blog.csdnimg.cn/direct/7f726c4e3d634975814c87e2c544340f.png)
MyBatis(初阶)
1.什么是MyBtis MyBatis是持久层框架,⽤于简化JDBC的开发。 2.准备工作 2.1 创建⼯程 数据库: 2.2 配置数据库连接字符串 以application.yml⽂件为例: 2.3 写持久层代码 Data public class UserInfo {private Integer id;private String username;private Stri…...
![](https://img-blog.csdnimg.cn/img_convert/168bd700f4b9df5e938ad244249a31f0.png)
KDP数据平台:以实战案例验证技术领先力
本文由智领云 LeetTools 工具自动生成 申请试用: https://www.leettools.com/feedback/ 在当今快速发展的技术环境中,数据平台的选择对企业的数字化转型和业务发展至关重要。智领云开源KDP(Kubernetes Data Platform)在数据处理和…...
![](https://i-blog.csdnimg.cn/direct/4a070d73c6cc4f0dadd7009fd74647a7.png)
[Linux] 什么是 Shell?
一、什么是 shell ? shell在英语中的意思就是外壳,所以我们习惯称shell程序为壳程序。那为什么又会被叫做壳程序呢?那是因为shell程序是在内核上面的,属于操作系统的外壳部分,因此我们就称之为壳程序(shell)。 在 Linux 中&#…...
![](https://img-blog.csdnimg.cn/img_convert/80223e4ca111a0b515d3bd82927a8a4d.png)
大模型学习应用 2:快速上手大模型基于langchain实现RAG检索应用
快速上手大模型基于langchain实现RAG检索应用 - 项目作业 目录 准备工作镜像选择算力选择安装包数据说明提示参考链接 Task1 申请 api 后,使用 langchain 导入大模型,并打印出大模型信息Task2 使用 langchian 加载数据,并把数据打印出来Task…...
![](https://i-blog.csdnimg.cn/direct/0f0eb589e85f482892f320ebe9da790d.png)
python环境安装之后,cmd输入python回车会打开微软商店
坑爹!python环境安装之后,cmd输入python回车会打开微软商店 最近发现,安装python环境成功之后,可能会出现cmd输入python验证是否安装成功老会打开微软商店! 解决,打开系统环境配置,找到刚安装…...
![](https://i-blog.csdnimg.cn/direct/efdce504c6bf4797b21ae62db8726754.png)
USB Type-C如何取9V、12V、15V、20V电压-PD快充协议芯片ECP5701
相信大家在生活中也发现了,现在越来越多的设备都改用这种type-C接口的母座进行取电了。 因为欧盟决议 :自2024年起部分消费电子产品必须提供单一的USB-C充电接口。 那么这种type-C接口相比之前的Micro-B接口有着一个很大的优势就是可以有更高的电压&…...
![](https://www.ngui.cc/images/no-images.jpg)
Go 语言 Map 17
Go 语言提供了一个强大的 Map 结构体,用于存储键值对。Map 可以用来存储数据,快速查找和修改数据。下面是 Go 语言 Map 的使用教程。 什么是 Map? Map 是一个键值对的集合,它可以存储任意类型的键和值。Map 中的每个键都是唯一的…...
![](https://www.ngui.cc/images/no-images.jpg)
移植bash到openharmony
1.交叉工具链 下载地址: http://ci.openharmony.cn/workbench/cicd/dailybuild/dailylist 进入ohos-sdk-full,下载一个sdk版本,这里下载的版本是version-Master_Version-OpenHarmony_5.0.0.35-20240805_020232-ohos-sdk-full.tar.gz。 解…...
![](https://www.ngui.cc/images/no-images.jpg)
git stash详细教程
git stash详细教程 基本命令: git stash: 保存当前未提交的更改,并恢复到干净的工作目录。git stash list: 列出所有的 stash。git stash show: 显示最新 stash 的简要内容。git stash show -p: 显示最新 stash 的详细内容。 应用和删除: git stash apply: 应用最新…...
![](https://www.ngui.cc/images/no-images.jpg)
UDP网络攻击
UDP(User Datagram Protocol)作为一种无连接的网络传输协议,以其速度快和资源消耗小的特点,在多种网络服务中发挥着重要作用,UDP的无连接特性也使其成为DDoS攻击的优选协议。 UDP攻击概念 UDP攻击是一种网络攻击手段…...
![](https://img-blog.csdnimg.cn/img_convert/620aa290ef284b9892b608eda945fed4.png)
漏洞扫描的重要性,如何做好漏洞扫描服务
随着互联网技术的飞速发展,网络安全问题已成为不容忽视的重大挑战。其中,系统漏洞威胁作为最常见且严重的安全危险之一,对组织和个人的信息资产构成了巨大威胁。下面我们就来了解下漏洞扫描的好处、漏洞扫描的操作方法以及如何做好网络安全。…...
![](https://i-blog.csdnimg.cn/direct/8324140a47c44e3584a951bb84d99e61.png)
unity程序简易框架
1. 框架基本结构 2. 单例模式基类模块 2.1 BaseManager.cs using System.Collections; using System.Collections.Generic; using UnityEngine;public class BaseManager<T> where T:new() {private static T instance;public static T GetInstance(){if (instance == …...
![](https://img-blog.csdnimg.cn/img_convert/abed90a659b0271e03f18f0546d84622.png)
Go小技巧易错点100例(十六)
本期看点: 正文开始: 切片的长度和容量 在Go语言中,切片(slice)是一个引用类型,它是对底层数组的抽象表示,提供了动态长度的、灵活的序列类型。切片包含三个重要的属性:指向底层数…...
![](https://www.ngui.cc/images/no-images.jpg)
通过Golang实现中间人攻击,查看和修改https流量包
要查看和修改 HTTPS 流量包,需要使用一个能够执行 中间人攻击(Man-in-the-Middle, MITM) 的代理工具。这个工具将拦截并解密 HTTPS 流量,然后允许查看和修改流量包的内容,再将其重新加密并发送到目标服务器。 完整的 …...
![](https://www.ngui.cc/images/no-images.jpg)
MySQL 安装与配置指南
MySQL 是一种广泛使用的关系型数据库管理系统,为各种应用程序提供高效的数据存储和管理解决方案。本文将介绍如何在不同的操作系统中安装 MySQL,以及如何进行基本的配置,以确保数据库系统的最佳性能和稳定性。 一、环境准备 1.1 系统要求 …...
![](https://i-blog.csdnimg.cn/direct/ca8c4b8bed3846698ad4517c405438ad.jpeg)
android13布局查看工具 无源码查看布局 在线查找ui布局id
总纲 android13 rom 开发总纲说明 目录 1.前言 2.工具介绍 2.1工具1 2.2工具2 2.3工具3 2.4工具4 3.彩蛋 1.前言 Android 13提供了一些工具来帮助开发人员查看和优化应用的布局。方便的让我们找到具体应用的布局文件等信息。 2.工具介绍 2.1工具1 老版本DDMS&#x…...
![](https://i-blog.csdnimg.cn/direct/86a1692352e24a738bafa83664f6e9c1.png)
【自动化测试必学语言】python:UnitTest框架
目录 介绍 框架 什么是UnitTest框架? 为什么使用UnitTest框架? UnitTest核心要素(unitest 的组成部分) 1.TestCase(最核心的模块) 2.TestSuite 3.TestRunner 4.TestLoader 5.Fixture TestCase(…...
![](https://i-blog.csdnimg.cn/direct/b7916edd62554562895261bc49968d0a.png)
大话LLM之向量数据库
向量数据库是一种专门设计的存储系统,旨在高效处理和查询高维向量数据,通常用于人工智能和机器学习应用中,以实现快速准确的数据检索。 好的,今天我们就来聊聊人工智能和向量数据库的事儿。现在人工智能发展得特别快,特…...
![](https://i-blog.csdnimg.cn/direct/157c3cde817745769587d1df61c846d6.png)
EmguCV学习笔记 C# 2.2 Matrix类
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 EmguCV学习笔记目录 Vb.net EmguCV学习笔记目录 C# 笔者的博客网址:VB.Net-CSDN博客 教程相关说明以及如何获得pdf教…...
![](https://img-blog.csdnimg.cn/fdc27a3e6a7e47ae97a7c17b9cd99eab.png)
网站导航上的图片做多大尺寸/seo和竞价排名的区别
一个完整的信号一定是以0开始然后以0结尾的,输入一串方波信号是由一个或者多个完整信号组成的,两个相邻的信号之间可能有-个或者多个低位, 同一个信号中间可以有连续的高位,完全连续交替方波是指0交替, while 1:try:nums = input()# 提取信号段,由0分隔的信号段dp = []…...
![](http://image78.360doc.com/DownloadImg/2014/08/2218/44517223_5.png)
顺德龙江网站建设/网络营销方案策划书
Java I/O流-总结(InputStream,OutputStream,Reader,Writer)2014-08-22一、 流的分类 按数据流动方向– 输入流:只能从中读取字节数据,而不能向其写出数据– 输出流:只能向其写入字节数据,而不能从中读取数据 按照…...
![](https://img-blog.csdnimg.cn/20210615085214621.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzUxMzA0NTY4,size_16,color_FFFFFF,t_70)
网站的界面设计怎么做/昆明seo技术培训
需求描述 本次实验需要了解到RDD编程的基础知识,明白RDD是Spark的核心概念,它是一个只读的、可分区的分布式数据集,这个数据集可全部或部分缓存在内存中,在多次计算间重用。其中包括RDD的创建、操作API、持久化和分区等。 熟悉Sp…...
![](https://img-blog.csdnimg.cn/img_convert/b7a85014ec7813f327e04b420be8d1c8.png)
贵阳网站建设方案报价/培训seo
2005-07-05我下载的是cs1.5的,不知道该怎么连网和别人一起打,你知道吗?cs1.5的能添加cs1.6的服务器吗?怎么添加?谢谢1。cs1。5中,在菜单里找“网上对战”。进入以后,左边里找“服务器”…...
![](/images/no-images.jpg)
wordpress手机端和pc端兼容/seo快速排名软件平台
底层采用了第三方的socket库:CocoaAsyncSocket,里面包含了GCDAsyncSocket.h和GCDAsyncSocket.m文件。阅读源码可以发现,GCDAsyncSocket中已经对ipv4和ipv6同时做了支持,但是为何在ipv6情况下会connect失败呢。根据代码执行过程可以…...
![](https://images2018.cnblogs.com/blog/1472588/201809/1472588-20180909215656439-376908446.png)
网站开发论文中期检查表/深圳网站seo哪家快
之前选择器可以完成的功能,筛选也提供了相同的函数 筛选函数介绍 eq(index|-index) 类似:eq()index:正数,从头开始获得指定所有的元素,从0算起,0表示第一个-index:负数,从尾开始获得指定索引的元素,1算…...