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& ...
随机推荐
- Pod和Namespace的基本介绍
namespace资源名称空间 删除namespace资源会级联删除其所包含的所有其它资源对象 名称空间仅仅只是用来限制资源名称的作用域 并不能实现Pod的通信隔离 在名称空间下操作s ...
- C#-使用GoogleAPI读写spreadsheets
https://docs.google.com/spreadsheets/在线使用一些常用办公工具,比如excel. 如需要C#代码自动读写这些excel,则需要使用GoogleAPI. 封装的公用类 ...
- nodejs 将不同文件夹中的视频整合到一个文件夹中
var fs = require("fs") var path = require("path") var listRealPath = path.resolv ...
- UML——从类图到C++
简易软件开发流程 实践中,use case and description.class diagram与sequence diagram三者搭配,几乎是UML项目的基本类型,所以在分工或外包的设计文档 ...
- 数据库系统load飙高问题解决思路(转)
工作过程中有时候会接收到数据库服务器器load 飙高的报警,比如: load1 15.25 base: 8.52,collect time:2014-08-30 如何处理load 异常飙高的报警呢? ...
- fastjson异常(字符串集合转成字符串数组)
我是在项目中,因为受到一个string类型的list集合,然后需要把这个字符串发送给前端,进行解析. 但是前端收到的是一个字符串,不能进行解析. 所以采用 ArrayUtils.clone(JSONO ...
- 关于微信小程序在ios中无法调起摄像头问题
这几天关于微信小程序开发关于wx.chooseVideo组件问题,因为自己一直是安卓手机上测试,可以调取摄像头,但是应用在ios上无法打开摄像头,困扰了好多天,经过反复查看官方文档,今天总算修复了这个 ...
- 【python】Requests的三种参数请求方式
URL参数请求: import requests ''' URL Parameters 请求方式: URL参数 例如: 以get 方式请求http://httpbin.org/get?first_na ...
- Highcharts error #16: www.highcharts.com/errors/16 js 单例
一.问题项目某一个页面用的highcharts用来显示一张图表,第一次刷新正常,第二次就出来这个错.1二.解决问题过程在网上找了很多同样是这个错误的解决方案. 第一:加载了highstock.js然后 ...
- 思科ASA基本配置
------------恢复内容开始------------ ASA基本配置 ciscoasa#show running-config //讲解已作的默认配置 ciscoasa#conf ...