资源描述:
《Hive函数V1.0》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.内置运算符1.1关系运算符运算符类型说明A=B所有原始类型如果A与B相等,返回TRUE,否则返回FALSEA==B无失败,因为无效的语法。SQL使用”=”,不使用”==”。A<>B所有原始类型如果A不等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。AB所有原始类
2、型如果A大于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。A>=B所有原始类型如果A大于等于B返回TRUE,否则返回FALSE。如果A或B值为”NULL”,结果返回”NULL”。AISNULL所有类型如果A值为”NULL”,返回TRUE,否则返回FALSEAISNOTNULL所有类型如果A值不为”NULL”,返回TRUE,否则返回FALSEALIKEB字符串如果A或B值为”NULL”,结果返回”NULL”。字符串A与B通过sql进行匹配,如果相符返回TRUE,不符返回FALSE。B字符串中的”_”代
3、表任一字符,”%”则代表多个任意字符。例如:(‘foobar’like‘foo’)返回FALSE,(‘foobar’like‘foo___’或者‘foobar’like‘foo%’)则返回TUREARLIKEB字符串如果A或B值为”NULL”,结果返回”NULL”。字符串A与B通过java进行匹配,如果相符返回TRUE,不符返回FALSE。例如:(‘foobar’rlike‘foo’)返回FALSE,(’foobar’rlike‘^f.*r$’)返回TRUE。AREGEXPB字符串与RLIKE相同。1.2算术运算符运算符类型说明A+B所有
4、数字类型A和B相加。结果的与操作数值有共同类型。例如每一个整数是一个浮点数,浮点数包含整数。所以,一个浮点数和一个整数相加结果也是一个浮点数。A–B所有数字类型A和B相减。结果的与操作数值有共同类型。A*B所有数字类型A和B相乘,结果的与操作数值有共同类型。需要说明的是,如果乘法造成溢出,将选择更高的类型。A/B所有数字类型A和B相除,结果是一个double(双精度)类型的结果。A%B所有数字类型A除以B余数与操作数值有共同类型。A&B所有数字类型运算符查看两个参数的二进制表示法的值,并执行按位”与”操作。两个表达式的一位均为1时,则结果
5、的该位为1。否则,结果的该位为0。A
6、B所有数字类型 运算符查看两个参数的二进制表示法的值,并执行按位”或”操作。只要任一表达式的一位为1,则结果的该位为1。否则,结果的该位为0。 A^B所有数字类型运算符查看两个参数的二进制表示法的值,并执行按位”异或”操作。当且仅当只有一个表达式的某位上为1时,结果的该位才为1。否则结果的该位为0。~A所有数字类型对一个表达式执行按位”非”(取反)。1.3逻辑运算符运算符类型说明AANDB布尔值A和B同时正确时,返回TRUE,否则FALSE。如果A或B值为NULL,返回NULL。A&&B布尔值与”AA
7、NDB”相同AORB布尔值A或B正确,或两者同时正确返返回TRUE,否则FALSE。如果A和B值同时为NULL,返回NULL。A
8、B布尔值与”AORB”相同NOTA布尔值如果A为NULL或错误的时候返回TURE,否则返回FALSE。!A布尔值与”NOTA”相同1.4复杂类型函数函数类型说明map(key1,value1,key2,value2,…)通过指定的键/值对,创建一个map。struct(val1,val2,val3,…)通过指定的字段值,创建一个结构。结构字段名称将COL1,COL2,…array(val1,val2,…)通过指
9、定的元素,创建一个数组。1.5对复杂类型函数操作函数类型说明A[n]A是一个数组,n为int型返回数组A的第n个元素,第一个元素的索引为0。如果A数组为['foo','bar'],则A[0]返回’foo’和A[1]返回”bar”。M[key]M是Map,关键K型返回关键值对应的值,例如mapM为{‘f’->‘foo’,‘b’->‘bar’,‘all’->‘foobar’},则M['all']返回’foobar’。S.xS为struct返回结构x字符串在结构S中的存储位置。如foobar{intfoo,intbar}foo
10、bar.foo的领域中存储的整数。2.内置函数2.1数学函数返回类型函数说明BIGINTround(doublea)四舍五入DOUBLEround(doublea,intd)小数部分d位之后数