MaxCompute常⽤函数(ODPS常⽤函数)
场景:使⽤MaxCompute常⽤函数
记录:NO.251
MaxCompute是⼀项⼤数据计算服务,它能提供快速、完全托管的PB级数据仓库解决⽅案。⼩北刚使⽤这个产品时,那会叫做ODPS(Open Data Processing Service)。为此在标题中添加了ODPS常⽤函数。
单⾏函数: 只处理单个⾏,并且为每⾏返回⼀个结果。
聚合函数: 同时对⼀组数据进⾏操作,返回⼀⾏结果。
窗⼝函数: 具有分组和排序的功能,返回结果不减少原表的⾏数。
语法:<;窗⼝函数> over (partition by <⽤于分组的列名> order by <⽤于排序的列名>)。
⼀、⽇期函数
GETDATE函数: 获取当前系统时间
SELECT GETDATE();
执⾏结果: 2021-06-27 19:33:23
DATEADD函数: ⽇期增减
SELECT DATEADD(GETDATE(),1,'dd');
执⾏结果: 2021-06-28 19:34:17
SELECT DATEADD(GETDATE(),-1,'dd');
执⾏结果: 2021-06-26 19:34:30
DATEDIFF函数: 计算返回时间差值
SELECT DATEDIFF('2021-06-27 19:33:23','2021-06-25 19:33:23','dd');
执⾏结果: 2
SELECT DATEDIFF('2021-06-27 19:33:23','2021-05-27 19:33:23','mm');
执⾏结果: 1
SELECT DATEDIFF('2021-06-27 19:33:23','2020-06-27 19:33:23','yyyy');
执⾏结果: 1
SELECT DATEDIFF('2021-06-27 19:33:23','2021-06-27 15:33:23','hh');
执⾏结果: 4
SELECT DATEDIFF('2021-06-27 19:33:23','2021-06-27 19:10:23','mi');
执⾏结果: 23
SELECT DATEDIFF('2021-06-27 19:33:23','2021-06-27 19:33:10','ss');
执⾏结果: 13
ADD_MONTHS函数: 计算⽉
SELECT ADD_MONTHS('2021-6-27',-1);
执⾏结果: 2021-05-27
DATEPART函数: 提取⽇期中part指定的部分
SELECT DATEPART('2021-06-27 19:33:23','yyyy');
执⾏结果: 2021
SELECT DATEPART('2021-06-27 19:33:23','mm');
执⾏结果: 6
SELECT DATEPART('2021-06-27 19:33:23','dd');
执⾏结果: 27
SELECT DATEPART('2021-06-27 19:33:23','hh');
执⾏结果: 19
SELECT DATEPART('2021-06-27 19:33:23','mi');
执⾏结果: 33
SELECT DATEPART('2021-06-27 19:33:23','ss');
执⾏结果: 23
DATETRUNC函数: 返回截取后的⽇期值
SELECT DATETRUNC('2021-06-27 19:33:23','yyyy');
执⾏结果: 2021-01-01 00:00:00
SELECT DATETRUNC('2021-06-27 19:33:23','mm');
执⾏结果: 2021-06-01 00:00:00
SELECT DATETRUNC('2021-06-27 19:33:23','dd');
执⾏结果: 2021-06-27 00:00:00
SELECT DATETRUNC('2021-06-27 19:33:23','hh');
执⾏结果: 2021-06-27 19:00:00
SELECT DATETRUNC('2021-06-27 19:33:23','mi');
执⾏结果: 2021-06-27 19:33:00
datediff是字符型函数SELECT DATETRUNC('2021-06-27 19:33:23','ss');
执⾏结果: 2021-06-27 19:33:23
UNIX_TIMESTAMP函数: 将⽇期转化为整型的unix格式的⽇期时间值SELECT UNIX_TIMESTAMP();
执⾏结果: 1624795597
FROM_UNIXTIME函数: 将数字型的unix 时间⽇期值转为DE⽇期值SELECT FROM_UNIXTIME(1624795597);
执⾏结果: 2021-06-27 20:06:37
ISDATE函数: 判断⼀个⽇期字符串能否根据对应的格式串转换为⼀个⽇期值SELECT ISDATE('2021-06-27 19:33:23','yyyy-mm-dd hh:mi:ss');
执⾏结果: true
LASTDAY函数: 取⼀个⽉的最后⼀天,截取到天
SELECT LASTDAY('2021-06-27 19:33:23');
执⾏结果: 2021-06-30 00:00:00
TO_DATE函数: 将⼀个字符串按照FORMAT指定的格式转成⽇期值
SELECT TO_DATE('2021-06-27 19:33:23','yyyy-mm-dd hh:mi:ss');
执⾏结果: 2021-06-27 20:13:41
TO_CHAR函数: ⽇期类型按照format指定的格式转成字符串
SELECT TO_CHAR(GETDATE(),'yyyy-mm-dd hh:mi:ss');
执⾏结果: 2021-06-27 20:17:26
WEEKDAY函数: 返回⼀个⽇期值是星期⼏
SELECT WEEKDAY(GETDATE());
执⾏结果: 6
星期⼀:0
星期⼆:1
星期三:2
星期四:3
星期五:4
星期六:5
星期天:6
WEEKOFYEAR函数: 返回⼀个⽇期位于那⼀年的第⼏周
SELECT WEEKOFYEAR(GETDATE());
执⾏结果: 25
⼆、数学运算函数ABS函数: 绝对值函数
SELECT ABS(-1.567);
执⾏结果: 1.567
ACOS函数: 反余弦函数
SELECT ACOS(0.789);
执⾏结果: 0.6616166568777674
ASIN函数: 反正弦函数
SELECT ASIN(0.789);
执⾏结果: 0.9091796699171293
ATAN函数: 反正切函数
SELECT ATAN(0.789);
执⾏结果: 0.6679975427240679
CONV函数: 进制转换函数
SELECT CONV(100,10,2);
执⾏结果: 1100100
SELECT CONV(10101100,2,10);
执⾏结果: 172
COS函数: 余弦函数,输⼊为弧度值
SELECT COS(0.789);
执⾏结果: 0.7045553168836329
COSH函数: 双曲余弦函数
SELECT COSH(0.789);
执⾏结果: 1.3277464991182242
COT函数: 余切函数
SELECT COT(0.789);
执⾏结果: 0.992822149200644
EXP函数: 指数函数(以e=2.718281828459045为底数)
SELECT EXP(3);
执⾏结果: 20.085536923187668
RAND函数: 随机数函数,返回double类型的随机数,返回值区间是的0~1 SELECT RAND(99);
执⾏结果: 0.9610280566667337
ROUND函数: 四舍五⼊到指定⼩数点位置
SELECT ROUND(0.789,2);
执⾏结果: 0.79
FLOOR函数: 向下取整
SELECT FLOOR(9.789);
执⾏结果: 9
SIN函数: 正弦函数
SELECT SIN(0.789);
执⾏结果: 0.7096490720426566
SINH函数: 双曲正弦函数
SELECT SINH(0.789);
执⾏结果: 0.8734476320425288
SQRT函数: 计算平⽅根
SELECT SQRT(9);
执⾏结果: 3.0
TAN函数: 正切函数
SELECT TAN(0.789);
执⾏结果: 1.0072297448290564
TANH函数: 双曲正切函数
SELECT TANH(0.789);
执⾏结果: 0.65784216537012
TRUNC函数: 截取函数,将输⼊值截取到指定⼩数点位置
SELECT TRUNC(987.789,1);
执⾏结果: 987.7
LN函数: 返回number的⾃然对数
SELECT LN(20.085536923187668);
执⾏结果: 3.0
LOG函数: 对数函数
SELECT LOG(2,3);
执⾏结果: SELECT LOG(2,3);
POW函数: 返回x的y次⽅,即x^y
SELECT POW(2,3);
执⾏结果: 8.0
CEIL函数: 向上取整
SELECT CEIL(9.789);
执⾏结果: 10
三、字符串处理函数CHR函数: 将给定ASCII转换成字符,参数范围是0~255
SELECT CHR(90);
执⾏结果: Z
CONCAT函数: 字符串连接函数,将参数中的所有字符串连接在⼀起的结果SELECT CONCAT('厦门在','福建');
执⾏结果: 厦门在福建
IN函数: 查看key是否在给定列表中出现
SELECT 99 IN(9,99,999,9999,99999);
执⾏结果: true
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论