1、检察函数列表
- -- 查看所有可用函数
- show functions;
- -- 查看count函数使用方式
- describe function extended count;
复制代码 2、数学函数
- -- round 取整,设置小数精度
- select round(3.1415926); -- 取整(四舍五入)
- select round(3.1415926, 4); -- 设置小数精度4位(四舍五入)
- -- 随机数
- select rand(); -- 完全随机
- select rand(3); -- 设置随机数种子,设置种子后每次运行结果一致的
- -- 绝对值
- select abs(-3);
- -- 求PI
- select pi();
复制代码 3、集合函数
- -- 求元素个数
- select size(work_locations) from test_array;
- select size(members) from test_map;
- -- 取出map的全部key
- select map_keys(members) from test_map;
- -- 取出map的全部value
- select map_values(members) from test_map;
- -- 查询array内是否包含指定元素,是就返回True
- select * from test_array where ARRAY_CONTAINS(work_locations, 'tianjin');
- -- 排序
- select *, sort_array(work_locations) from test_array;
复制代码 4、类型转换函数
- -- 转二进制
- select binary('hadoop');
- -- 自由转换,类型转换失败报错或返回NULL
- select cast('1' as bigint);
复制代码
5、日期函数
- -- 当前时间戳
- select current_timestamp();
- -- 当前日期
- select current_date();
- -- 时间戳转日期
- select to_date(current_timestamp());
- -- 年月日季度等
- select year('2020-01-11');
- select month('2020-01-11');
- select day('2020-01-11');
- select quarter('2020-05-11'); --季度
- select dayofmonth('2020-05-11');
- select hour('2020-05-11 10:36:59');
- select minute('2020-05-11 10:36:59');
- select second('2020-05-11 10:36:59');
- select weekofyear('2020-05-11 10:36:59');
- -- 日期之间的天数
- select datediff('2022-12-31', '2019-12-31');
- -- 日期相加、相减
- select date_add('2022-12-31', 5);
- select date_sub('2022-12-31', 5);
复制代码 6、条件函数
- -- if判断
- SELECT if (truename is NULL,'没有填写姓名',truename) from users;
- --null判断
- SELECT isnull(truename) from users;
- SELECT isnotnull(truename) from users;
- --nvl ,如果字段值为null,则返回默认值,否则返回字段的值,等同于if判断的效果
- SELECT nvl(truename,'无姓名') from users;
- -- 返回第一个不是null的v,如果所有v都是null,则返回null
- SELECT COALESCE (truename,brithday) from users;
- -- 当a=b,返回c,当a=d时返回e,否则返回f
- SELECT username ,CASE username when '周杰轮' THEN '著名歌星' WHEN '张鲁依' THEN '著名演员' ELSE '未知人员' END FROM users;
- SELECT truename ,CASE when truename is null then '无姓名' ELSE truename end FROM users;
- --如果 a=b ,则返回null,否则返回a。
- SELECT truename ,NULLIF (truename,NULL) from users u ;
复制代码 7、字符串函数
- -- 连接字符串
- SELECT CONCAT(loginname,username) FROM users u ;
- SELECT CONCAT_WS(',',loginname,username) from users u ;
- -- 统计长度
- SELECT username ,LENGTH (username) FROM users u ;
- -- 转换大小写
- SELECT LOWER('ABC') ;
- SELECT UPPER('avc') ;
- -- 去除收尾空格
- SELECT TRIM(' hadoop ds ') ;
- -- 字符串分割
- SELECT split('aaaa,bbbb,ccc',',')[0];
复制代码 8、数据脱敏函数
- -- hash加密(结果是16进制字符串)
- SELECT mask_hash('hadoop');
复制代码 9、其他函数
- -- hash加密 结果是数字
- SELECT hash('aaahsdd');
- -- 当前用户
- SELECT CURRENT_USER();
- --当前数据库
- SELECT CURRENT_DATABASE();
- --hive版本
- SELECT VERSION();
- --计算md5
- SELECT MD5('HADOOP');
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |