Postgresql时间处理_postgresql 获取某天的23:59:59-程序员宅基地

技术标签: postgresql  

目录

时间/日期操作符

日期/时间函数

EXTRACT函数

综合示例


时间/日期操作符

 

操作符 例子 结果
+ date '2011-09-28' + integer '7' date '2011-10-05'
+ date '2011-09-18' + interval '1 hour' timestamp '2011-09-18 01:00'
+ date '2011-09-18' + time '02:00' timestamp '2011-09-18 02:00'
+ interval '1 day' + interval '1 hour' interval '1 day 01:00'
+ timestamp '2011-09-28 01:00' + interval '23 hours' timestamp '2011-09-29 00:00'
+ time '01:00' + interval '3 hours' time '04:00'
- - interval '23 hours' interval '-23:00'
- date '2001-10-01' - date '2001-09-28' integer '3'
- date '2011-10-01' - integer '7' date '2011-09-24'
- date '2011-09-28' - interval '1 hour' timestamp '2011-09-27 23:00'
- time '05:00' - time '03:00' interval '02:00'
- time '05:00' - interval '2 hours' time '03:00'
- timestamp '2011-09-28 23:00' - interval '23 hours' timestamp '2011-09-28 00:00'
- interval '1 day' - interval '1 hour' interval '23:00'
- timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' interval '1 day 15:00'
* interval '1 hour' * double precision '3.5' interval '03:30'
/ interval '1 hour' / double precision '1.5' interval '00:40'

 

日期/时间函数

函数 返回类型 描述 例子 结果
age(timestamp, timestamp) interval 减去参数,生成一个使用年、月的"符号化"的结果 age('2001-04-10', timestamp '1957-06-13') 43 years 9 mons 27 days
age(timestamp) interval 从current_date减去得到的数值 age(timestamp '1957-06-13') 43 years 8 mons 3 days
current_date date 今天的日期    
current_time time 现在的时间    
current_timestamp timestamp 日期和时间    
date_part(text, timestamp) double 获取子域(等效于extract) date_part('hour', timestamp '2012-05-06 10:20:30') 10
date_part(text, interval) double 获取子域(等效于extract) date_part('month', interval '2 years 3 months') 3
date_trunc(text, timestamp) timestamp 截断成指定的精度 date_trunc('hour', timestamp '2012-05-06 10:20:30') 2012-05-06 10:00:00+00
extract(field from timestamp) double 获取子域 extract(hour from timestamp '2012-05-06 10:20:30') 10
extract(field from interval) double 获取子域 extract(month from interval '2 years 3 months') 3
localtime time 今日的时间    
localtimestamp timestamp 日期和时间    
now() timestamp 当前的日期和时间(等效于 current_timestamp)    
timeofday() text 当前日期和时间    

 

EXTRACT函数

用于取出时间中的一部分,比如取出小时部分,参数示例如下:

描述 例子 结果
CENTURY 世纪 EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13'); 20
DAY (月分)里的日期域(1-31) EXTRACT(DAY from TIMESTAMP '2001-02-16 20:38:40'); 16
DECADE 年份域除以10 EXTRACT(DECADE from TIMESTAMP '2001-02-16 20:38:40'); 200
DOW 每周的星期号(0-6;星期天是0) (仅用于timestamp) EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40'); 5
DOY 一年的第几天(1 -365/366) (仅用于 timestamp) EXTRACT(DOY from TIMESTAMP '2001-02-16 20:38:40'); 47
HOUR 小时域(0-23) EXTRACT(HOUR from TIMESTAMP '2001-02-16 20:38:40'); 20
MICROSECONDS 秒域,包括小数部分,乘以 1,000,000。 EXTRACT(MICROSECONDS from TIME '17:12:28.5'); 28500000
MILLENNIUM 千年 EXTRACT(MILLENNIUM from TIMESTAMP '2001-02-16 20:38:40'); 3
MILLISECONDS 秒域,包括小数部分,乘以 1000。 EXTRACT(MILLISECONDS from TIME '17:12:28.5'); 28500
MINUTE 分钟域(0-59) EXTRACT(MINUTE from TIMESTAMP '2001-02-16 20:38:40'); 38
MONTH 对于timestamp数值,它是一年里的月份数(1-12);对于interval数值,它是月的数目,然后对12取模(0-11) EXTRACT(MONTH from TIMESTAMP '2001-02-16 20:38:40'); 2
QUARTER 该天所在的该年的季度(1-4)(仅用于 timestamp) EXTRACT(QUARTER from TIMESTAMP '2001-02-16 20:38:40'); 1
SECOND 秒域,包括小数部分(0-59[1]) EXTRACT(SECOND from TIMESTAMP '2001-02-16 20:38:40'); 40
WEEK 该天在所在的年份里是第几周。 EXTRACT(WEEK from TIMESTAMP '2001-02-16 20:38:40'); 7
YEAR 年份域 EXTRACT(YEAR from TIMESTAMP '2001-02-16 20:38:40'); 2001

 

综合示例

获取当前据本周五23:59还有多少小时多少分钟

select EXTRACT(HOUR FROM(CURRENT_DATE + time '23:59') - CURRENT_TIMESTAMP) + (6 - extract(dow from current_date) )*24 "hour",

EXTRACT(MINUTE FROM(CURRENT_DATE + time '23:59') - CURRENT_TIMESTAMP) "minute";

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/whq12789/article/details/98860327

智能推荐

unity换装骨骼、蒙皮、动作之美_unity 头模怎么蒙皮绑骨-程序员宅基地

文章浏览阅读3.3k次,点赞6次,收藏17次。无论是AAA级的主机游戏,还是层出不穷的移动端游戏,角色换装几乎都是必不可少的功能,有的甚至是核心功能,像暗黑3和魔兽世界的幻化系统(如图1)。这个功能没什么新鲜点。网上关于Unity换装的文章不胜枚举,我再添一篇也没意思,本系列旨在通过换装功能的实现,来讲解一些被Unity引擎所隐藏起来的那些细节。  (图1:暗黑..._unity 头模怎么蒙皮绑骨

wireshark提取视频数据之RTP包中提取H264和H265_wireshark提取rtp 插件-程序员宅基地

文章浏览阅读1.6k次。选择菜单Edit->Preferences,打开首选项,左侧菜单列表选择Protocols->H.264,这里抓包的视频编码是H.264,fu-a编码的方式,根据上一步骤获取的PT为96,H.264 dynamic payload types 填写96,然后点击OK,这里wireshark应该会把rtp解析成H.264格式,如果以前已经配置了96,但是协议还是没有变成H.264的格式,可通过先配置成其他值,然后再改成96来触发FU-A的解码,这可能是wireshark的一个bug。_wireshark提取rtp 插件

GET 请求和 POST 请求的区别和使用_post get 请求的区别和用法-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏19次。作为前端开发, HTTP 中的 POST 请求和 GET 请求是经常会用到的东西,有的人可能知道,但对其原理和如何使用并不特别清楚,那么今天来浅谈一下两者的区别与如何使用。GET请求和POST请求的区别1、 GET 请求: GET 请求顾名思义是用来获取信息。它的本质是发送一个请求来取得服务器上的某一资源。资源通过一组 HTTP 头和呈现数据(如 HTML 文本,或者图片或者视频等)返回给客户端。2、 POST 请求: POST 请求则类似于一封信将参数放在信封里传输。其本质是像服务器传送数据。.._post get 请求的区别和用法

解决i18n国际化可读性问题,傻瓜式webpack中文支持国际化插件开发_i18n国际化键名用中文会怎么样-程序员宅基地

文章浏览阅读1k次,点赞20次,收藏27次。用过国际化`i18n`的朋友都知道,天下苦国际化久矣,尤其是中文为母语的开发者,在面对代码中一堆的`$t('abc.def')`这种一点也不直观毫无可读性的代码,根本不知道自己写了啥![](https://daodaoblogpicgo.oss-cn-shanghai.aliyuncs.com/img/202402261351412.png) (如上图,你看得出来这是些啥吗)2. 第二个问题就是i18n各种语言版本的语言包难以维护,随着项目变大这个语言包会越来越难以维护,能不能自动去维护呢_i18n国际化键名用中文会怎么样

HotSpot虚拟机的介绍_hotspot虚拟机是什么-程序员宅基地

文章浏览阅读1k次。HotSpot虚拟机的介绍_hotspot虚拟机是什么

【mybatis和mybatisplus的区别】-程序员宅基地

文章浏览阅读6.2k次,点赞3次,收藏10次。【mybatis和mybatisplus的区别】_mybatis和mybatisplus的区别

随便推点

ozan (oz) yigit grep 源码分析2_grep源码分析-程序员宅基地

文章浏览阅读224次。ozan (oz) yigit grep 源码分析2昨天在床上也在回想oz的代码,因为涉及到pmatch回退的过程,感觉没有彻底理解,于是在心里模拟代码的运行。终于有点想明白了。 while (lp >= are) { if (e = pmatch(lp, ap)) return e; ..._grep源码分析

2021秋招面试经历----硬件工程师_硬件工程师自我介绍-程序员宅基地

文章浏览阅读7.3k次,点赞11次,收藏172次。先介绍一下楼主情况,2021届毕业生,本硕都是车辆相关,硕士阶段主要在做电子类工作,所以投的大都是非车企的硬件工程师岗位。从2020年3月开始找实习,到2020年10月签约,前后投递了差不多六七十份简历,不过得到的笔试和面试机会远远没有这么多,不知道是不是由于跨专业的原因。现在还记得投的实习简历大都石沉大海,没有任何回复,所以那两三个月极度焦虑,所幸最后得到了CVTE的实习机会(表白一下CVTE,给了很棒的实习体验)。之前找工作时在网上看到的面经大都是软件相关的,与硬件相关的并不是很多,所以特意_硬件工程师自我介绍

区块链起点——避免你再错过几个亿_起点下载区块链-程序员宅基地

文章浏览阅读1.5k次。区块链起点——避免你再错过几个亿如果对新鲜事物不够敏感,可以懊悔错过早期的机会。但是当新领域已经站在风口,请不要再视而不见。希望你的区块链知识从这里开始2013年的时候,身边的朋友就在谈论比特币,挖矿。在当时的我看来,这是个太虚的东西,没有任何实际的价值。时间进入到2017年,单个比特币价值近2万美刀的时候,我依然觉得是庞氏骗局,大家玩着击鼓传花的游戏。到2018年,自己开始从事相关工..._起点下载区块链

activiti7 会签并行多实例任务实现,一票否决,会签后添加网关判断_activiti7 一个流程同时给多个人审核-程序员宅基地

文章浏览阅读8.9k次,点赞10次,收藏38次。1、功能需求会签实现多个人同时审批,任意一个人不同意时,会签任务结束,不同意走八戒审批,同意走悟空审批,最后流程结束。流程图如下:绘制流程图:动态设置审批人,完成条件${(pass == 'no')||(nrOfCompletedInstances/nrOfInstances==1)}添加表单字段控件FormProperty_29f662k-_!string-_!审批意见-_!请输入-_!s,需和前端约定,控件解析格式添加执行监听器,任务结束时调用。网关..._activiti7 一个流程同时给多个人审核

MySQL重复数据删除处理_mysql 删除重复数据-程序员宅基地

文章浏览阅读4.3k次,点赞4次,收藏13次。处理脏数据的方式一般有两种,一是通过sql处理,二是通过代码处理。对于复杂的脏数据,代码处理是最推荐的,通过代码的逻辑,可以准确地控制不同情况,然后针对性测试。所以大多数情况下,开发会偏向于通过sql方式来修复数据,只需要写一个sql到线上环境跑一下(前提是可以写得出来,哈哈),都不需要上线代码,就可以解决根本性问题。本次针对重复性脏数据情况,根据不同需求场景,来通过sql方式处理脏数据。假定通过uid和gid联合作为唯一判断,那么重复的数据有:[1,2],[6,7,8]_mysql 删除重复数据

python3 dataframe中列数据为字典,拆分成多列或转存某个关键字的值_dataframe的某列是字典解析-程序员宅基地

文章浏览阅读1k次。python3 dataframe中列数据为字典,拆分成多列或转存某个关键字的值文章地址_dataframe的某列是字典解析