集合函数
size函数
size(Map<K.V>) ; size(Array<T>)
select size(`map`("id",10086,"name","zhangsan","age",18));
select size(`array`(11,22,33));
返回"3"
map_keys函数
map_keys(Map<K.V>) 提取 map
类型数据结构中的所有键(Key),以数组的形式返回这些键。
select map_keys(`map`("id",10086,"name","zhangsan","age",18));
map_values函数
map_values(Map<K.V>)
提取 map
类型数据结构中的所有值(Value),并以数组的形式返回这些值。
select map_values(`map`("id",10086,"name","zhangsan","age",18));
array_contains
array_contains(Array<T>, value)
用于检查一个数组中是否包含某个特定的元素。如果数组包含该元素,函数返回 true
;否则,返回 false
select array_contains(`array`(11,22,33),11);
返回"true"
数组排序函数
sort_array(Array<T>)
select sort_array(`array`(12,2,32));
返回 [2, 12, 32]
sort_array()
函数默认对数组进行升序排序。如果需要对数组进行降序排序,可以通过传递一个布尔值参数来指定排序方式。具体来说,sort_array(array, asc)
的第二个参数 asc
决定了排序的顺序:
asc
是单词 “ascending” 的缩写,意思是“升序”
条件函数
if条件判断
if(boolean testCondition, T valueTrue, T valueFalseOrNull)
如果条件为
true
,则返回valueTrue
。如果条件为
false
,则返回valueFalseOrNull
T
是返回值的类型,可以是任意类型(如整数、字符串、浮点数等)。
select if(1=2,100,200);
返回"200"
空值判断函数
isnull( a )
用于检查一个值是否为 NULL
。如果值为 NULL
,则返回 true
;否则返回 false
select isnull("allen");
返回"false"
非空判断函数
isnotnull ( a )
和空值判断函数相反
空值转换函数
nvl(T value, T default_value)
select nvl("allen","itcast");
返回 "allen"
select nvl(null,"itcast");
返回"itcast"
非空查找函数
COALESCE(T v1, T v2, ...)
返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL
select COALESCE(null,11,22,33);
返回 11
case when函数
select case 100 when 50 then 'tom' when 100 then 'mary' else 'tim' end;
返回 "mary"
类型转换函数
CAST
函数
用于将一个表达式显式地转换为指定的数据类型