postgresql 获取两个时间类型小时差值案例

我就废话不多说了,看代码吧~

select extract(day from t) * 24 + extract(hour from t) from (select (timestamp '2013-12-14 12:00:00' - timestamp '2013-12-11 4:00:00') as t) as a;

例如a表中有start,end俩字段

select extract(day from (end-start)) * 24 + extract(hour from (end-start)) from a

补充:PostgreSQL得出两个timestamp的秒数差值

sql语句

SELECT EXTRACT(EPOCH FROM (TIMESTAMP '2017-12-16 12:21:13'- TIMESTAMP '2017-12-15 12:21:00'));

86413

计算两个时间的差值更新另一个时间字段

UPDATE your_table

SET this_time=(EXTRACT(EPOCH FROM (time_a-time_b)));

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • postgreSQL 非count方法算记录数操作

    一般方法 select count(1) from table_name; 全量扫描一遍表,记录越多,查询速度越慢 新法 PostgreSQL 还真提供了一个这样的途径,那就是系统表 pg_class,这个系统表里头,存储着每个表的统计信息,其中 reltuples 就是对应的表的统计行,统计行的数据是pg有个独立进程,定期扫描不同的表,收集这些表的统计信息,保存在系统表里头. 方法如下: select reltuples::int as total from pg_class where re

  • postgresql通过索引优化查询速度操作

    当数据量比较大的时候,提升查询效率就是需要去考虑的事情了.一个百万级别的表格,如果不做任何优化的话,即使是最简单的查询语句执行起来也是慢的让人难以接受:当然"优化"本身是一个比较复杂的工程,从设计表.字段到查询语句的写法都有很多讲究,这里只考虑索引的方式,且是最普通的索引: 下面的操作中对应数据库表w008_execrise_info(8000数据量), w008_wf02_info(4000数据量) 1 任务表数据 SELECT w.* FROM w008_wf02_info w W

  • postgresql的now()与Oracle的sysdate区别说明

    postgresql的now()为当前事务开始时间, 而Oracle的sysdate是当前时间. 区别在于事务. postgresql中的now(): postgres=# begin ; BEGIN postgres=# select now(); now ------------------------------- 2017-03-31 14:28:32.403869+08 (1 row) postgres=# select now(); now ---------------------

  • postgresql中时间转换和加减操作

    昨天遇到一个floor向下取整的问题,现在将它记录下来. 首先floor是需要一个int或者dp.那么我们日期加减转换,timestamp 转data,是需要先将其转成char,再由char转date,再相减,得出一个符合floor函数要求的值. 代码如下: FLOOR((to_date(to_char(current_timestamp, 'yyyy-MM-dd hh:mi:ss'), 'yyyy-mm-dd') - to_date(to_char(ca.birthday, 'yyyy-MM-

  • Postgresql 通过出生日期获取年龄的操作

    三个基础的时间表示函数 CURRENT_DATE/CURRENT_TIME/NOW() SELECT CURRENT_DATE ; 返回当前日期以 年-月-日(yyyy-MM-dd)的形式: 2019-01-10 SELECT CURRENT_TIME; 返回当日时间以 时:分:秒+时区(HH:mm:ss )的形式: 17:49:11.585308+08 SELECT NOW(); 返回当前时间 以 年-月-日 时:分:秒(yyyy-MM-dd HH:mm:ss)的形式: 2019-01-10

  • 详解PostgreSql数据库对象信息及应用

    PostgreSql数据库对象主要有数据库.表.视图.索引.schema.函数.触发器等.PostgreSql提供了information_schema schema,其中包括返回数据库对象的视图.如用户有访问权限,可以也在pg_catalog schema中查询表.视图等对象. 1. 查询数据库对象 下面通过示例分别展示如何查询各种数据库对象. 1.1 表查询 PostgreSql 表信息可以从information_schema.tables 或 pg_catalog.pg_tables 视

  • postgresql 获取两个时间类型小时差值案例

    我就废话不多说了,看代码吧~ select extract(day from t) * 24 + extract(hour from t) from (select (timestamp '2013-12-14 12:00:00' - timestamp '2013-12-11 4:00:00') as t) as a; 例如a表中有start,end俩字段 select extract(day from (end-start)) * 24 + extract(hour from (end-st

  • Java获取时间差(天数差,小时差,分钟差)代码示例

    网上有很多博文是讲如何获取时间差的,我看了一下,多数是使用Calendar类来实现,但是都讲得比较乱,在这里我用SimpleDateFormat来实现,比较简单,我认为比较适合拿来用. SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类. 它允许格式化 (date -> text).语法分析 (text -> date)和标准化. SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动. 但是,希望用 DateFormat 中的 ge

  • Go获取两个时间点时间差的具体实现

    目录 获取当前时间及其秒.毫秒.纳秒数 获取两个时间点时间差代码 获取指定时间前的时间 获取指定时间后的时间 获取当前时间及其秒.毫秒.纳秒数 now := time.Now() //获取当前时间 ==>2019-08-21 11:30:51.2470317 +0800 CST m=+0.004501101 fmt.Printf("时间戳(秒):%v;\n", time.Now().Unix()) //10位 fmt.Printf("时间戳(纳秒):%v;\n"

  • C#获取两个时间的时间差并去除周末(取工作日)的方法

    本文实例讲述了C#获取两个时间的时间差并去除周末的方法.分享给大家供大家参考.具体分析如下: 一般来说取时间差的代码很多,但是能够只取工作日的时间差的代码很少,这段代码就来实现这一功能. protected void Page_Load(object sender, EventArgs e) { DateTime start = Convert.ToDateTime("2012-12-10"); DateTime end= Convert.ToDateTime("2012-1

  • Vue如何获取两个时间点之间的所有间隔时间

    目录 获取两个时间点之间的所有间隔时间 获取两个时间之间的 间隔时间 获取两个日期之间的间隔日期 获取指定两个月份之间的 间隔月份 获取两个时间点之间的所有间隔时间 说明 使用的是vue@2.6.12和elementUI@2.14.1 使用的是TS,用来校验数据格式 所有返回的数据都是在时间前面自动补全了0 使用的主要方法是new Date().setFullYear()设置当前的时间,如果传入的时间是new Date().setFullYear(2020,12,32),该方法会自动将时间转化为

  • C# 获取动态key的json对象的值案例

    问题描述 如果直接获取某个json数组中的元素将得到如下的json { "44": { "height": 25, "appeared": -70000000, "length": 44, "order": "saurischia", "vanished": -70000000, "weight": 135000 } } 这个json对象如果使用C

  • postgresql 实现查询某时间区间的所有日期案例

    核心sql如下: select daytime::date from generate_series( ('2017-06-01'),--查询开始日期(可根据需求调整) (select now()::date),--查询结束日期(可根据需求调整) '1 day'--间隔(可根据需求调整) ) s(daytime) 以上sql,得到结果为从6月1号到今天这个时间区间内的每天的日期,如下: 举例说明: 查询tableA所有time_period区间内的日期,time_period的数据格式为:201

  • lua获取未来某时间点的时间戳解决方案

    最近在做游戏定时推送,犹如第二天9点通知玩家领取奖励之类的需求,要求获取第二天9点的时间戳,以前用JS写过类似的需求,JS中的Date类用起来比较方便,很多东西已经帮忙弄好了,最主要的还是会自动处理时间和日期的自己进阶吧.最近写lua也碰到类似的需求,但看过lua的文档后,发现lua没有JS那么方便:但也不是没有办法,这里记录下,供以后查看,直接看代码吧 复制代码 代码如下: local cur_timestamp = os.time() local one_hour_timestamp = 2

  • android-获取网络时间、获取特定时区时间、时间同步的方法

    最近整理出android-获取网络时间.获取特定时区时间.时间同步的方法.具体如下: 方法一: SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dff.setTimeZone(TimeZone.getTimeZone("GMT+08")); String ee = dff.format(new Date()); 这个方法获取的结果是24小时制的,月份也正确. 这个方法不随手机时间

  • postgresql 中的时间处理小技巧(推荐)

    时间格式处理 按照给定格式返回:to_char(timestamp,format) 返回相差的天数:(date(time1) - current_date) 返回时间戳对应的的日期[yyyy-MM-dd]:date(timestamp) 计算结果取两位小数(方便条件筛选):round((ABS(a-b)::numeric / a), 2) * 100 < 10 时间运算 加减运算 '-' :前x天/月/年 '+' :后x天/月/年 current_timestamp - interval 'x

随机推荐