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 日期函数和操作的更多相关文章

  1. Sql server函数的学习2(游标函数、日期函数、字符串操纵函数)

    一.游标函数与变量 游标可以处理多行数据,在过程循环中一次访问一行.和基于集合的高效操作相比,这个功能对系统资源的消耗更大. 可以用一个函数和两个全局变量来管理游标操作 1.CURSOR_STATUS ...

  2. SQL Server 日期函数:EOMonth、DateFormat、Format、DatePart、DateName

    一,月份的最后一天 函数 EOMonth 返回指定日期的最后一天 EOMONTH ( start_date [, month_to_add ] ) 1,对于start_date 有两种输入方式,能够转 ...

  3. Oracle中日期时间的操作比较和加减-入门基础(转)

    Oracle关于时间/日期的操作     1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual ...

  4. SQLserver日期函数

      ------------------日期转化成年月日时分秒毫秒--------------- select 'R'+CONVERT(varchar(100), GETDATE(), 112)+ri ...

  5. javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数

    javascript函数一共可分为五类:    ·常规函数    ·数组函数    ·日期函数    ·数学函数    ·字符串函数    1.常规函数    javascript常规函数包括以下9个 ...

  6. 数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

    SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函 ...

  7. oracle日期函数2!

    1.日期时间间隔操作  当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual 当前时间减去7小时的时间 ...

  8. 使用sqlserver日期函数获取当前日期

    使用sqlserver日期函数中的getdate()可以获取当现的日期,下面就将为您介绍这种使用sqlserver日期函数获取当前日期的方法,供您参考,希望对您学习sqlserver日期函数有所启迪. ...

  9. Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数

    1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...

随机推荐

  1. iOS网络请求之数据解析

    JSON解析 IOS中Json解析的四种方法 NSURLConnection-网络请求浅析 IOS开发:官方自带的JSON使用 XML 解析 GDataXMLNode应用 IOS学习:常用第三方库(G ...

  2. windows添加ftp站点

    安装下,对应的服务: 在网站上,右键,添加,ftp站点. 配置路径: 然后下一步,选择所有用户,  读写权限.就可以了.

  3. Pandas 数据筛选,去重结合group by

    Pandas 数据筛选,去重结合group by 需求 今小伙伴有一个Excel表, 是部门里的小伙9月份打卡记录, 关键字段如下: 姓名, 工号, 日期, 打卡方式, 时间, 详细位置, IP地址. ...

  4. Node: Process模块 (Features of Process)

    Process模块 (Features of Process) process is a global variable which indicates the current Node.js pro ...

  5. cpython多进程

    四 同步\异步and阻塞\非阻塞(重点) 同步: #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回.按照这个定义,其实绝大多数函数都是同步调用.但是一般而言,我们在说同步.异 ...

  6. Linux crontab命令参数和时间格式说明

    crontab 是用来让使用者在固定时间或固定间隔执行程序之用 参数说明 选项 功能 -e 编辑crontab定时任务 -l 查询crontab任务 -r 删除当前用户所有的crontab任务 时间格 ...

  7. USB之hub3

    =============  本系列参考  ============= <圈圈教你玩USB>.<Linux那些事儿之我是USB> 协议文档:https://www.usb.or ...

  8. selenium中的等待方法及区别

    等待是为了使脚本执行更加稳定 常用的休眠方式: 1.time模块的sleep方法 :引入from time import sleep 2.implicitly_wait():设置webdriver等待 ...

  9. Centos7-安装py3

    安装依赖 yum install gcc openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel li ...

  10. JAVA 启动服务命令

    java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=7301,suspend=n -Xms2048m -Xmx4096m -XX:+ ...