阿里云-DataWorks- ODPS SQL开发3-日期与字符、数学运算、聚合函数函数

本文涉及的产品
DataWorks Serverless资源组免费试用套餐,300CU*H 3个月
简介: 阿里云-DataWorks- ODPS SQL开发3 本文主要讲解日常大量会接触到的一些常用的日期与字符、数学运算、聚合函数函数。

前言

本文主要讲解日常大量会接触到的一些常用的日期与字符、数学运算、聚合函数函数

一、日期函数

GETDATE函数: 获取当前系统时间
SELECT GETDATE();
执行结果: 2022-12-15 20:33:23

DATEADD函数: 日期增减
SELECT DATEADD(GETDATE(),1,'dd');
执行结果: 2021-06-28 20:34:17

SELECT DATEADD(GETDATE(),-1,'dd');

执行结果: 2021-06-26 20:34:30

DATEDIFF函数: 计算返回时间差值

SELECT DATEDIFF('2022-12-15 20:33:23','2022-12-13 20:33:23','dd');
执行结果: 2
SELECT DATEDIFF('2022-12-15 20:33:23','2022-11-15 20:33:23','mm');
执行结果: 1
SELECT DATEDIFF('2022-12-15 20:33:23','2021-12-15 20:33:23','yyyy');
执行结果: 1
SELECT DATEDIFF('2022-12-15 20:33:23','2022-12-15 16:33:23','hh');
执行结果: 4
SELECT DATEDIFF('2022-12-15 20:33:23','2022-12-15 20:10:23','mi');
执行结果: 23
SELECT DATEDIFF('2022-12-15 20:33:23','2022-12-15 20:33:10','ss');
执行结果: 13

ADD_MONTHS函数: 计算月
SELECT ADD_MONTHS('2021-6-27',-1);
执行结果: 2022-11-15

DATEPART函数: 提取日期中part指定的部分
SELECT DATEPART('2022-12-15 20:33:23','yyyy');
执行结果: 2021

SELECT DATEPART('2022-12-15 20:33:23','mm');
执行结果: 6

SELECT DATEPART('2022-12-15 20:33:23','dd');
执行结果: 27

SELECT DATEPART('2022-12-15 20:33:23','hh');
执行结果: 19

SELECT DATEPART('2022-12-15 20:33:23','mi');
执行结果: 33

SELECT DATEPART('2022-12-15 20:33:23','ss');
执行结果: 23

DATETRUNC函数: 返回截取后的日期值
SELECT DATETRUNC('2022-12-15 20:33:23','yyyy');
执行结果: 2021-01-01 00:00:00

SELECT DATETRUNC('2022-12-15 20:33:23','mm');
执行结果: 2021-06-01 00:00:00

SELECT DATETRUNC('2022-12-15 20:33:23','dd');
执行结果: 2022-12-15 00:00:00

SELECT DATETRUNC('2022-12-15 20:33:23','hh');
执行结果: 2022-12-15 20:00:00

SELECT DATETRUNC('2022-12-15 20:33:23','mi');
执行结果: 2022-12-15 20:33:00

SELECT DATETRUNC('2022-12-15 20:33:23','ss');
执行结果: 2022-12-15 20:33:23

UNIX_TIMESTAMP函数: 将日期转化为整型的unix格式的日期时间值
SELECT UNIX_TIMESTAMP();
执行结果: 1624795597

FROM_UNIXTIME函数: 将数字型的unix 时间日期值转为DE日期值
SELECT FROM_UNIXTIME(1624795597);
执行结果: 2022-12-15 20:06:37

ISDATE函数: 判断一个日期字符串能否根据对应的格式串转换为一个日期值
SELECT ISDATE('2022-12-15 20:33:23','yyyy-mm-dd hh:mi:ss');
执行结果: true

LASTDAY函数: 取一个月的最后一天,截取到天
SELECT LASTDAY('2022-12-15 20:33:23');
执行结果: 2021-06-30 00:00:00

TO_DATE函数: 将一个字符串按照FORMAT指定的格式转成日期值
SELECT TO_DATE('2022-12-15 20:33:23','yyyy-mm-dd hh:mi:ss');
执行结果: 2022-12-15 20:13:41

TO_CHAR函数: 日期类型按照format指定的格式转成字符串
SELECT TO_CHAR(GETDATE(),'yyyy-mm-dd hh:mi:ss');
执行结果: 2022-12-15 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

INSTR函数: 计算一个子串在字符串中的位置
SELECT INSTR('崇明在中国的上海','福建');

LENGTH函数: 返回一个字符串的长度
SELECT LENGTH('崇明在中国的上海');

LENGTHB函数: 返回一个字符串的以字节为单位的长度
SELECT LENGTHB('崇明在中国的上海');

MD5函数: 输入字符串的md5值
SELECT MD5('崇明在中国的上海');
执行结果: ac17f49e2f2e778634dee072e1dfc4ac

SPLIT_PART函数: 拆分字符串,返回指定的部分
SELECT SPLIT_PART('福州;厦门;泉州',';',2);
执行结果: 厦门

TO_CHAR函数: 返回对应值的字符串

SELECT TO_CHAR(99.98);

执行结果: 99.98

SUBSTR函数: 返回字符串string1从start_position开始长度为length的子串
SELECT SUBSTR('崇明在中国的上海',7,2);
执行结果: 上海

TOLOWER函数: 字符串转换为小写,输入字符串对应的小写字符串

SELECT TOLOWER('abcDEFGH');
执行结果: abcdefgh

TOUPPER函数: 字符串转换为大写,输入字符串对应的大写字符串
SELECT TOUPPER('abcDEFGH');
执行结果: ABCDEFGH

TRIM函数: 截取两端空格,将输入字符串去除左右空格
SELECT TRIM(' 崇明在中国的上海 ');
执行结果: 崇明在中国的上海

WM_CONCAT函数: 用指定的spearator做分隔符,做字符串类型的连接操作
SELECT WM_CONCAT(';',tt.id) as result
FROM NOTE_INFO_TEST tt
WHERE tt.area = '340000';
执行结果: 2021002;2021004;2021001;2021005;2021003

四、聚合函数

AVG函数: 计算平均值
SELECT AVG(tt.money) AS RESULT FROM NOTE_INFO_TEST tt;

COUNT函数: 计算数目
SELECT COUNT(1) AS RESULT FROM NOTE_INFO_TEST tt;

MAX函数: 计算最大值
SELECT MAX(tt.money) AS RESULT FROM NOTE_INFO_TEST tt;

MEDIAN函数: 中位数
SELECT MEDIAN(tt.money) AS RESULT FROM NOTE_INFO_TEST tt;

MIN函数: 计算最小值
SELECT MIN(tt.money) AS RESULT FROM NOTE_INFO_TEST tt;

SUM函数: 求和
SELECT SUM(tt.money) AS RESULT FROM NOTE_INFO_TEST tt;

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
1月前
|
DataWorks Kubernetes 大数据
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
飞天大数据平台产品问题之DataWorks提供的商业化服务如何解决
|
6天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
在Web开发中,安全至关重要,尤其要警惕SQL注入和XSS攻击。SQL注入通过在数据库查询中插入恶意代码来窃取或篡改数据,而XSS攻击则通过注入恶意脚本来窃取用户敏感信息。本文将带你深入了解这两种威胁,并提供Python实战技巧,包括使用参数化查询和ORM框架防御SQL注入,以及利用模板引擎自动转义和内容安全策略(CSP)防范XSS攻击。通过掌握这些方法,你将能够更加自信地应对Web安全挑战,确保应用程序的安全性。
26 3
|
25天前
|
SQL JSON 分布式计算
ODPS SQL ——列转行、行转列这回让我玩明白了!
本文详细介绍了在MaxCompute中如何使用TRANS_ARRAY和LATERAL VIEW EXPLODE函数来实现列转行的功能。
|
1月前
|
SQL 分布式计算 MaxCompute
一种基于ODPS SQL的全局字典索引分布式计算思路
本文提供一种能充分利用分布式计算资源来计算全局字典索引的方法,以解决在大数据量下使用上诉方式导致所有数据被分发到单个reducer进行单机排序带来的性能瓶颈。
|
1月前
|
SQL NoSQL 数据库
开发效率与灵活性:SQL vs NoSQL
【8月更文第24天】随着大数据和实时应用的兴起,数据库技术也在不断发展以适应新的需求。传统的SQL(结构化查询语言)数据库因其成熟的数据管理机制而被广泛使用,而NoSQL(Not Only SQL)数据库则以其灵活性和扩展性赢得了众多开发者的青睐。本文将从开发者的视角出发,探讨这两种数据库类型的优缺点,并通过具体的代码示例来说明它们在实际开发中的应用。
50 1
|
15天前
|
SQL 机器学习/深度学习 自然语言处理
Text-to-SQL技术演进 - 阿里云OpenSearch-SQL在BIRD榜单夺冠方法剖析
本文主要介绍了阿里云OpenSearch在Text-to-SQL任务中的最新进展和技术细节。
|
1月前
|
SQL 存储 分布式计算
我在淘宝写SQL|ODPS SQL 优化总结
本文结合作者多年的数仓开发经验,结合ODPS平台分享数据仓库中的SQL优化经验。
|
20天前
|
SQL 分布式计算 大数据
大数据开发SQL代码编码原则和规范
这段SQL编码原则强调代码的功能完整性、清晰度、执行效率及可读性,通过统一关键词大小写、缩进量以及禁止使用模糊操作如select *等手段提升代码质量。此外,SQL编码规范还详细规定了代码头部信息、字段与子句排列、运算符前后间隔、CASE语句编写、查询嵌套、表别名定义以及SQL注释的具体要求,确保代码的一致性和维护性。
22 0
|
28天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
110 0
|
23天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
72 11

热门文章

最新文章

  • 1
    DataWorks操作报错合集之DataWorks任务异常 报错: GET_GROUP_SLOT_EXCEPTION 该怎么处理
    79
  • 2
    DataWorks操作报错合集之DataWorksUDF 报错:evaluate for user defined function xxx cannot be loaded from any resources,该怎么处理
    85
  • 3
    DataWorks操作报错合集之在DataWorks中,任务流在调度时间到达时停止运行,是什么原因导致的
    92
  • 4
    DataWorks操作报错合集之DataWorks ODPS数据同步后,timesramp遇到时区问题,解决方法是什么
    70
  • 5
    DataWorks操作报错合集之DataWorks配置参数在开发环境进行调度,参数解析不出来,收到了 "Table does not exist" 的错误,该怎么处理
    71
  • 6
    DataWorks操作报错合集之DataWorks中udf开发完后,本地和在MaxCompute的工作区可以执行函数查询,但是在datawork里报错FAILED: ODPS-0130071:[2,5],是什么原因
    76
  • 7
    DataWorks操作报错合集之DataWorks提交失败: 提交节点的源码内容到TSP(代码库)失败:"skynet_packageid is null,该怎么解决
    91
  • 8
    DataWorks操作报错合集之DataWorks在同步mysql时报错Code:[Framework-02],mysql里面有个json类型字段,是什么原因导致的
    120
  • 9
    DataWorks操作报错合集之DataWorks集成实例绑定到同一个vpc下面,也添加了RDS的IP白名单报错:数据源配置有误,请检查,该怎么处理
    72
  • 10
    DataWorks操作报错合集之在 DataWorks 中运行了一个 Hologres 表的任务并完成了执行,但是在 Hologres 表中没有看到数据,该怎么解决
    85