orcale和hive常用函数对照表(?代表未证实)
| 函数分类 | oracle | hive | 说明 |
| 字符函数 | upper('coolszy') | upper(string A) ucase(string A) | 将文本字符串转换成字母全部大写形式 |
| lower('KUKA') | lower(string A) lcase(string A) | 将文本字符串转换成字母全部小写形式 | |
| initcap('kuKA aBc') | 无 | 将每个单词的首字母大写,其他位置的字母小写 | |
| concat('Hello',' world') | concat(string A, string B…) | 连接多个字符串,合并为一个字符串,可以接受任意数量的输入字符串 | |
| substr('hello',2,3) | substr(string A, int start, int len) substring(string A, int start, int len) | 从文本字符串中指定的位置指定长度的字符。 | |
| length('hello') | length(string A) | 返回字符串的长度 | |
| lpad(‘smith’,10,'*') | lpad(string str, int len, string pad) | 返回指定长度的字符串,给定字符串长度小于指定长度时,由指定字符从左侧填补 | |
| rpad(‘smith’,10,'*') | rpad(string str, int len, string pad) | 返回指定长度的字符串,给定字符串长度小于指定长度时,由指定字符从右侧填补。 | |
| trim(' Mr Simth ') | trim(string A) | 删除字符串两端的空格,字符之间的空格保留 | |
| ltrim(' Mr Simth ') | ltrim(string A) | 删除字符串左边的空格,其他的空格保留 | |
| rtrim(' Mr Simth ') | rtrim(string A) | 删除字符串右边的空格,其他的空格保留 | |
| reverse(‘abcdef’) | reverse(string A) | 返回倒序字符串 | |
| replace('HELLO','L','x') | regexp_replace(string A, string B, string C) | 字符串A中的B字符被C字符替代 | |
| ascii('A') | ascii(string str) | 返回字符串中首字符的数字值 | |
| chr(54740) | 无 | 给出整数,返回对应的字符 | |
| 无 | concat_ws(string SEP, string A, string B…) | 链接多个字符串,字符串之间以指定的分隔符分开。 | |
| 无 | parse_url(string urlString, string partToExtract [, string keyToExtract]) | 返回URL指定的部分。parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1′, ‘HOST’) 返回:’facebook.com’ | |
| 无 | space(int n) | 返回指定数量的空格 | |
| 无 | repeat(string str, int n) | 重复N次字符串 | |
| 无 | split(string str, string pat) | 将字符串转换为数组。 | |
| 无 | regexp_extract(string subject, string pattern, int index) | 通过下标返回正则表达式指定的部分。regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 2) returns ‘bar.’ | |
| 无 | sentences(string str, string lang, string locale) | 将字符串中内容按语句分组,每个单词间以逗号分隔,最后返回数组。 例如sentences(‘Hello there! How are you?’) 返回:( (“Hello”, “there”), (“How”, “are”, “you”) ) | |
| 无 | e() | 返回e的值 | |
| 无 | pi() | 返回pi的值 | |
| instr('oracle traning','ra',1,2) | find_in_set(string str, string strList) | 在一个字符串中搜索指定的字符,返回发现指定的字符的位置 | |
| 无 | get_json_object(string json_string, string path) | get_json_object('{"store":{"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],"bicycle":{"price":19.95,"color":"red"}},"email":"amy@only_fo_json_udf_test.net","owner":"amy"}', '$.store.fruit') | |
| 数值函数 | round(double a) | round(double a) | 四舍五入 |
| trunc(412.23,2) | 无 | 舍去小数,但不进位(正数表示小数点后,表示小数点前) | |
| abs(-100) | abs(double a) | 返回指定值的绝对值 | |
| asin(0.5) | asin(double a) | 返回x的反正弦,即是X。 | |
| acos(-1) | acos(double a) | 返回X的反余弦,即余弦是X, | |
| ceil(3.1415927) | ceil(3.1415927) | 返回大于或等于给出数字的最小整数 | |
| sin(20) | sin(double a) | 返回给定角度的正弦值 | |
| cos(-3.1415927) | cos(double a) | 返回余弦 | |
| sqrt(64) | sqrt(double a) | sqrt(double a) 返回数值的平方根 | |
| exp(2) | exp(double a) | 返回e的n次方 | |
| floor(2345.67) | floor(double a) | 对给定的数字取整数 | |
| 无 | rand(),rand(int seed) | 返回大于或等于0且小于1的平均分布随机数(依重新计算而变) | |
| ln(2.7182818) | ln(double a) | 返回一个数字的对数值 | |
| LOG(n1,n2) | log(double base, double a) | 返回给定底数及指数返回自然对数 | |
| power(2,10) | pow(double a, double p) power(double a, double p) | 返回某数的乘幂 | |
| ROUND和TRUNC | round(double a)round(double a, int d) | 按照指定的精度进行舍入 | |
| SIGN | sign(double a) | 取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 | |
| tan(20) | tan(double a) | 返回数字的正切值 | |
| atan(1) | atan(1) | 返回一个数字的反正切值 | |
| 无 | conv(BIGINT num, int from_base, int to_base) | 将指定数值,由原来的度量体系转换为指定的试题体系。例如CONV(‘a’,16,2),返回。参考:’1010′ | |
| 无 | positive(int a) positive(double a) | 返回A的值,例如positive(2),返回2。 | |
| 无 | negative(int a) negative(double a) | 返回A的相反数,例如negative(2),返回-2。 | |
| mod(int a, int b) mod(double a, double b) | pmod(int a, int b) pmod(double a, double b) | 返回a除b的余数的绝对值 | |
| 日期函数 | sysdate | 无 | 返回当前日期 |
| months_between(sysdate,'16-6月 -09') | 无 | 返回两个日期之间的月数 | |
| add_months(sysdate,4) | 无 | 返回加上指定月数后的日期 | |
| TO_DATE(string,'format') | 无 | 将字符串转化为ORACLE中的一个日期 | |
| TO_CHAR(date,'format') | 无 | 将日期格式成所需要的类型 | |
| next_day(sysdate,'星期一') | 无 | 返回当前日期之后的下一个星期一的日期 | |
| last_day(sysdate) | 无 | 求本月的最后一天 | |
| NEW_TIME(date,'this','that') | 无 | 给出在this时区=other时区的日期和时间 | |
| 无 | to_date(string timestamp) | 返回时间中的年月日: to_date(“1970-01-01 00:00:00″) = “1970-01-01″ | |
| 无 | unix_timestamp(string date, string pattern) | 指定时间输入格式,返回到1970年秒数:unix_timestamp(’2009-03-20′, ‘yyyy-MM-dd’) = 1237532400 参考: | |
| 无 | unix_timestamp(string date) | 指定日期参数调用UNIX_TIMESTAMP(),它返回参数值’1970- 01 – 0100:00:00′到指定日期的秒数。 | |
| 无 | unix_timestamp() | 如果不带参数的调用,返回一个Unix时间戳(从’1970- 01 – 0100:00:00′到现在的UTC秒数)为无符号整数。 | |
| 无 | year | 返回指定时间的年份,范围在1000到9999,或为”零”日期的0。 | |
| 无 | month(string date) | 返回指定时间的月份,范围为1至12月,或0一个月的一部分,如’0000-00-00′或’2008-00-00′的日期。 | |
| 无 | day(string date) dayofmonth(date) | 返回指定时间的日期 | |
| 无 | hour(string date) | 返回指定时间的小时,范围为0到23。 | |
| 无 | minute(string date) | 返回指定时间的秒,范围为0到59。 | |
| 无 | weekofyear(string date) | 返回指定日期所在一年中的星期号,范围为0到53。 | |
| 无 | datediff(string enddate, string startdate) | 两个时间参数的日期之差。 | |
| 无 | date_sub(string startdate, int days) | 给定时间,在此基础上减去指定的时间段。 | |
| 无 | date_add(string startdate, int days) | 给定时间,在此基础上加上指定的时间段。 | |
| 聚合函数 | avg | avg | 求平均值 |
| count | count | 统计数据 | |
| max | max | 求最大值 | |
| VARIANCE(DISTINCT|ALL) | covar_samp(col1, col2) | 两列数值样本协方差 | |
| 无 | var_pop(col) | 返回指定列的方差 | |
| STDDEV(distinct|all) | var_pop(col) | 求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差 | |
| min | min | 求最小值 | |
| sum | sum | 求和 | |
| 无 | percentile(col, p) | 返回数值区域的百分比数值点。0<=P<=1,否则返回NULL,不支持浮点型数值。 | |
| 无 | stddev_pop(col) | 返回指定列的偏差 | |
| 无 | corr(col1, col2) | 返回两列数值的相关系数 | |
| 转换函数 | to_number(st[,fmt]) | 无 | st从字符型数据转换成按指定格式的数值,缺省时数值格式串的大小正好为整个数 |
| to_char(m[,fmt]) | 无 | m从一个数值转换为指定格式的字符串fmt缺省时,fmt值的宽度正好能容纳所有的有效数字 | |
| 无 | cast(expr as <type>) | 类型转换。例如将字符”1″转换为整数:cast(’1′ as bigint),如果转换失败返回NULL。 | |
| 无 | hex(BIGINT a) hex(string a) | 将整数或字符转换为十六进制格式 | |
| 无 | unhex(string a) | 十六进制字符转换由数字表示的字符。 | |
| 无 | bin(BIGINT a) | 返回二进制格式 | |
| 无 | degrees(double a) | 将值从弧度到度 | |
| 无 | radians(double a) | 将值从度转换为弧度 | |
| nvl(m,n) | colalese | 如果m值为null,返回n,否则返回m | |
| 无 | COALESCE(T v1, T v2, …) | 返回一组数据中,第一个不为NULL的值,如果均为NULL,返回NULL。 | |
| RAWTOHEXT | 无 | 将一个二进制构成的字符串转换为十六进制 | |
| HEXTORAW | 无 | 将一个十六进制构成的字符串转换为二进制 | |
| ROWIDTOCHAR | 无 | 将ROWID数据类型转换为字符类型 | |
| TO_MULTI_BYTE | 无 | 将字符串中的单字节字符转化为多字节字符 | |
| CHARTOROWID | 无 | 将字符数据类型转换为ROWID类型 | |
| 其他 | GREATEST | 无 | 返回一组表达式中的最大值,即比较字符的编码大小. |
| LEAST | 无 | 返回一组表达式中的最小值 | |
| UID | 无 | 返回标识当前用户的唯一整数 | |
| USER | 无 | 返回当前用户的名字 | |
| USEREVN | 无 | 返回当前用户环境的信息,opt可以是: ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE |
|
| GROUP BY | GROUP BY | 主要用来对一组数进行统计 | |
| HAVING | 无(where子句代替) | 对分组统计再加限制条件 | |
| ORDER BY | ORDER BY/sort by | 用于对查询到的结果进行排序输出 | |
| DECODE | when\case | 当a=b时,返回c;当a=d时,返回e,否则返回f。 | |
| ? | distinct | 去掉重复的 | |
| ? | desc/asc | 升序/降序排列 | |
| 逻辑函数 | ? | or | 逻辑或 |
| ? | and | 逻辑和 | |
| ? | not | 逻辑非 | |
| 多表join | ? | join | 等值连接 |
| ? | left semi join | 半连接 | |
| ? | left right outer join | 外连接 | |
| 增加的hive函数 | TO_DATE(v_txdate,'YYYYMMDD') | 格式化所需要的日期 | |
| ADD_MONTHS(TO_DATE(v_txdate,0) | 增加月数 | ||
| LAST_DAY(v_dealyyyymm) | 返回每个月最后一天 | ||
| MONTHS_BETWEEN(v_dealyyyymm1,v_dealyyyymm2) | 返回两个日期之间的月数 | ||
| ?:未证实 |
orcale和hive常用函数对照表(?代表未证实)的更多相关文章
- Hive常用函数的使用
Hive常用函数的使用 文章作者:foochane 原文链接:https://foochane.cn/article/2019062501.html 1 基本介绍 1.1 HIVE简单介绍 Hive ...
- hive常用函数 wordCount--Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战
第三天笔记 第三天笔记 SQL练习Hive 常用函数关系运算数值计算条件函数日期函数重点!!!字符串函数Hive 中的wordCount1.1 Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战 ...
- Hive常用函数
字符串函数 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length(‘abcedfg’ ...
- Hive 常用函数
参考地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF 1. parse_url(url, partToExt ...
- Hive 常用函数汇总
Hive内部提供了很多函数给开发者使用,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表生成函数等等,这些函数都统称为内置函数. 目录 数学函数 集合函数 类型转换函数 日期函数 条件函数 ...
- hive常用函数六
cast 函数: 类型转换函数,cast(kbcount as int); case when: 条件判断,case when kbcount is not null and cast(kbcount ...
- hive常用函数五
复合类型构建操作 1. Map类型构建: map 语法: map (key1, value1, key2, value2, …) 说明:根据输入的key和value对构建map类型 举例: hive& ...
- hive常用函数四
字符串函数 1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abced ...
- hive常用函数三
日期函数 1. UNIX时间戳转日期函数: from_unixtime 语法: from_unixtime(bigint unixtime[, string format]) 返回值: string ...
随机推荐
- text和submit框的border问题
A1:在input框中,为type为text的输入框增加边框,它会在内容区域外额外增添,但是在submit框中,它会占用内容区块的一部分作为边框 <style type="text/c ...
- SQLServer2008修改sa密码的方法与SQL server 2008数据库的备份与还原
sa密码的修改转载自:http://blog.csdn.net/templar1000/article/details/20211191 SQL server 2008数据库的备份与还原转自 :htt ...
- echarts中视觉映射器(visualMap)与时间轴(timeline)混用的实现方法
1.简述 echarts中的 timeline 组件,提供了在多个 ECharts option 间进行切换.播放等操作的功能. 与其他组件些不同,它需要操作『多个option』. 所以除了基准的ba ...
- JAVA多线程之先行发生原则
一.引子 如果java内存模型中所有的有序性都仅仅依靠volatile和synchronized来完成,那么有一些操作会变得很繁琐,但我们在编写java并发代码时并未感觉到这一点,这是因为java语言 ...
- JavaScript函数调用模式
1.方法调用模式: var myObj = { value : 0; increment:function(inc){ this.value += typeof inc === 'number' ? ...
- 用ASOS建立自定义的OpenID 服务(一)-----------简介
翻译文章 原文地址 这一系列共包括9个部分,这是第一部分,下面是英文原文地址: Introduction Choosing the right flow(s) Registering the midd ...
- HDU 6181 Two Paths
这是一道次短路的题 但是本题有两个坑 注意边权的范围,一定要在所有与距离有关的地方开 long long 本题所求的并不是次短路,而是与最短路不同的最短的路径,如果最短路不止一条,那么就输出最短路的长 ...
- cocos2d-x代码阅读笔记 - 入口
每一个C\C++程序都有一个非常有名的入口函数 main(),在Windows系统下,这个函数就变成了WinMain函数. 在cocos2d-x 2.0.4的Windows版本中,main函数非常简单 ...
- 痞子衡随笔:常用的数据传输差错检测技术(1)- 奇偶校验(Parity Check)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式数据传输里的差错检测技术-奇偶校验. 在嵌入式应用里,除了最核心的数据处理外,我们还会经常和数据传输打交道.数据传输需要硬件传输接口 ...
- Python面向对象篇(2)-继承
在发表本篇随笔的时候,距离上一次发已经有一个多月了,很多朋友私信我为什么不持续更新了,在这里先跟大家说声抱歉.因为年底的工作较为繁重,实在分不出精力,更重要的也是在思考后面进阶的部分要按怎样的顺序写, ...