presto 日期函数和操作
https://prestodb.github.io/docs/current/functions/datetime.html
date '2012-08-08' + interval '2' day 日期增加 两天 ,结果 : '2012-08-10'
Presto 是一个工具,被用来通过分布式查询来有效的查询大量的数据。Presto 是一个可选的工具,
可以用来查询 HDFS,通过使用 MapReduce 的作业的流水线,例如 hive,pig,但是又不限于查询 HDFS 数据,
它还能查询其他的不同数据源的数据,包括关系数据库以及其他的数据源,比如 cassandra;
Presto 被设计为处理数据仓库和分析:分析数据,聚合大量的数据并产生报表,这些场景通常被定义为 OLAP。
presto 使用时注意:
主要是各种格式转换,表(table)中所有数据均是string格式,所有的格式均需要转换:
1)日期需要转化为date型
2)除法中分子&分母需要转化为double型
3)因为create_time是2019-01-01 00:00:00.0的格式,我用substr取前10位,结果在presto中就成空了,我就用的split函数根据空格分割的create_time,然后取分割后的第一部分,在presto中取第一部分是[1]不是[0]
4)如果需要计算前几天的 日期可以用
绝对日期:date '2019-03-15' - interval '2' day,也就是2019-03-13
相对日期:假如今天是2019-03-15,也可以用cast(sysdate(-1) as date) - interval '1' day,也就是2019-03-13
举个栗子,如下
select
'num_07d' as zhibiao,
zb,
num,
num_all,
cast(num as double) / cast(num_all as double) as ration
from
(
select
index_a as zb,
count(id) as num
from
table
where
dp = 'ACTIVE'
and cast(split(create_time, ' ') [1] as date) <= cast(sysdate(-2) as date)
and cast(split(create_time, ' ') [1] as date) >(cast(sysdate(-2) as date) - interval '7' day)
group by
index_a
)
a,
(
select
count(id) as num_all
from
table
where
dp = 'ACTIVE'
and cast(split(create_time, ' ') [1] as date) <= cast(sysdate(-2) as date)
and cast(split(create_time, ' ') [1] as date) >(cast(sysdate(-2) as date) - interval '7' day)
)
b
https://blog.csdn.net/flashfishoo/article/details/88601283
presto 日期函数和操作的更多相关文章
- Sql server函数的学习2(游标函数、日期函数、字符串操纵函数)
一.游标函数与变量 游标可以处理多行数据,在过程循环中一次访问一行.和基于集合的高效操作相比,这个功能对系统资源的消耗更大. 可以用一个函数和两个全局变量来管理游标操作 1.CURSOR_STATUS ...
- SQL Server 日期函数:EOMonth、DateFormat、Format、DatePart、DateName
一,月份的最后一天 函数 EOMonth 返回指定日期的最后一天 EOMONTH ( start_date [, month_to_add ] ) 1,对于start_date 有两种输入方式,能够转 ...
- Oracle中日期时间的操作比较和加减-入门基础(转)
Oracle关于时间/日期的操作 1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual ...
- SQLserver日期函数
------------------日期转化成年月日时分秒毫秒--------------- select 'R'+CONVERT(varchar(100), GETDATE(), 112)+ri ...
- javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数
javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 1.常规函数 javascript常规函数包括以下9个 ...
- 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数
SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...
- oracle日期函数2!
1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual 当前时间减去7小时的时间 ...
- 使用sqlserver日期函数获取当前日期
使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法,供您参考,希望对您学习sqlserver日期函数有所启迪. ...
- Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数
1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...
随机推荐
- 软工作业 wc-java
项目要求: 实现一个统计程序,它能正确统计程序文件中的字符数.单词数.行数,以及还具备其他扩展功能,并能够快速地处理多个文件. 具体功能 -c 返回文件字符数 -w 返回词的数目 -l 返回行数 扩展 ...
- css 三角形空心三角形的简单实现
<style> #talkbubble { width: 120px; height: 80px; position: relative; -moz-border-radius: 10px ...
- Linux 磁盘配额(XFS & EXT4)
若是在Linux中搭建了FTP服务器,为了安全性,就要考虑磁盘配额,以防服务器磁盘空间被恶意占满. 磁盘配额概述 1.作用范围:只在指定的分区有效. 2.限制对象:主要针对用户.组进行限制,对组账号限 ...
- emqx配置ssl
1.生产自签证书 mkdir /etc/emqttd/certs/ && cd /etc/emqttd/certs/ openssl genrsa -out ca-key.pem 20 ...
- Codeforces C. Elections(贪心枚举三分)
题目描述: C. Elections time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- spring的声明式事务和编程式事务
事务管理对于企业应用来说是至关重要的,当出现异常情况时,它可以保证数据的一致性. Spring事务管理的两种方式 1.编程式事务 使用Transaction Ttempleate或者直接使用底层的Pl ...
- 编程小白入门分享四:Vue的安装及使用快速入门
一.VUE简介 vue是一个JavaMVVM库,是一套用于构建用户界面的渐进式框架,是初创项目的首选前端框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计.它是轻量级的,它有很多独立 ...
- jquery ajax请求数据超时设置
var ajaxTimeoutTest = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : 'get', //请求方式,g ...
- Python 代码混淆和加密技术
动机 Python进行商业开发时, 需要有一定的安全意识, 为了不被轻易的逆向. 混淆和加密就有所必要了. 混淆 为了增加代码阅读的难度, 源代码的混淆非常必要, 一个在线的Python代码混淆网站. ...
- 做阉割版Salesforce难成伟大的TOB企业
https://www.lieyunwang.com/archives/446227 猎云注:当前中国市场环境下,有没有可能诞生一批SaaS级企业服务公司?东方富海合伙人陈利伟用三个方面基础性问题解答 ...