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_datedate今天的日期  
current_timetime现在的时间  
current_timestamptimestamp日期和时间  
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
localtimetime今日的时间  
localtimestamptimestamp日期和时间  
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年份域除以10EXTRACT(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";

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jmap报错unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap

jmap报错 [roothost-10-0-197-189 service]# jmap -heap 12139 Attaching to process ID 12139, please wait... Debugger attached successfully. Server compiler detected. JVM version is 25.191-b12using thread-local object allocation. Parallel GC with 8 thread(s)H…

topcoder SRM712 Div1 LR

题目&#xff1a; Problem Statement We have a cyclic array A of length n. For each valid i, element i-1 the left neighbor of element i. Additionally, element n-1 is the left neighbor of element 0. You are given two vector<long long>s s and t, each…

Spring Boot Quartz应用

目录 简单用法 配置cronSchedule的写法 简单用法 直接EnableScheduling后&#xff0c;方法上加上Scheduled(cron "0 */1 * * * * ")就行了。 此种方式需要写死时间、写死实现&#xff0c;生产环境不方便配置控制。 EnableScheduling SpringBootApplication publi…

2491 玉蟾宫

2491 玉蟾宫 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 大师 Master 题目描述 Description有一天&#xff0c;小猫rainbow和freda来到了湘西张家界的天门山玉蟾宫&#xff0c;玉蟾宫宫主蓝兔盛情地款待了它们&#xff0c;并赐予它们一片土地。 这片土地被分成N*M个格子&am…

linux根目录空间占满问题排查

df -h 看到/目录已满 切换到根目录后看各个目录空间占用 cd / du -h -x --max-depth1 [rootlocalhost usr]# du -h -x --max-depth160M ./bin42M ./sbin460M ./lib207M ./lib64204M ./share0 ./etc0 ./games36K ./include12M ./libexec0 ./local0 ./src983M . 依次找到过大…

hihocoder 1183 割点和割边

链接&#xff1a; http://hihocoder.com/problemset/problem/1183 代码&#xff1a; 1 #include <map>2 #include <set>3 #include <cmath>4 #include <queue>5 #include <stack>6 #include <cstdio>7 #include <string>8 #include …

ubuntu navicat删除目录破解如何保留配置信息

配置信息存储位置&#xff1a; ~/.navicat64/user.reg 这个文件跟windows注册表导出的文件一样 下面分析配置中对我们有用的信息 字体设置&#xff1a; [Software\\PremiumSoft\\NavicatPremium] 1566266955 #time1d556fc440497e6 "AlreadyShowNavicateV121WelcomeS…

前端学习(2398):回顾

# 一、项目初始化## 使用 Vue CLI 创建项目> 注意&#xff1a;不要使用 Git Bash 执行项目创建操作&#xff0c;使用 cmd 或者 powershell 之类的工具。> 如果你还没有安装 VueCLI&#xff0c;或者版本低于 4&#xff0c;请执行下面的命令安装或是升级&#xff1a; >…

ubuntu经常提示:检测到系统程序出现问题

sudo vi /etc/default/apport 修改值 enabled0

前端学习(2399):关于编辑代码编辑器

代码段使用 可以对对应的编辑器去设置代码段

React Native 一些事

ReactJS 是否准备好 有时候我们常常需要监听 ReactJS 的的加载情况。 比如说&#xff0c;当获取一条推送&#xff0c;应用还没有起来&#xff0c;通过点击推送启动应用后&#xff0c;而推送中包含一些我们感兴趣的字段需要处理&#xff0c;我们如果直接把这条通知发送给 ReactJ…

ubuntu下 windows的zip文件打开,中文目录和文件名乱码

sudo apt-get install unar lsar xxx.zip 查看压缩文件内文件名 unar xxx.zip 解压文件 原因&#xff1a;windows下面文件名是GBK编码的&#xff0c;与linux不同。

前端学习(2411):name属性的作用

先纠正一下&#xff0c;这个问题的标题和内容不是一个问题&#xff0c;这里应该是涉及到两个知识点&#xff1a; 组件的 name路由的 name 下面我分别解释一下。 组件的 name 参考链接&#xff1a;https://router.vuejs.org/zh/guide/essentials/named-routes.html 组件的 nam…

HDU 1231 最大连续子序列

http://acm.hdu.edu.cn/showproblem.php?pid1231 Dp[i] 以a[i]元素结尾的子序列的最大和 记录 再记录一下起始位置即可 1 #include <iostream>2 #include <string.h>3 #include <stdio.h>4 using namespace std;5 6 int a[10007];7 int dp[10007];8 int st[…

Servlet生命周期与工作原理

http://www.cnblogs.com/cuiliang/archive/2011/10/21/2220671.html Servlet生命周期分为三个阶段&#xff1a; 1&#xff0c;初始化阶段 调用init()方法 2&#xff0c;响应客户请求阶段  调用service()方法 3&#xff0c;终止阶段  调用destroy()方法 Servlet初始化阶段&…

linux(ubuntu)给vmware中的windows虚拟机共享磁盘

设置vm——options——shared folders&#xff1a; 注意&#xff1a;共享的磁盘不能进行目录监听&#xff0c;比如微信小程序开发工具就无法打开这里面的项目。

javase模拟斗地主洗牌和发牌(54)

1、使用Arraylist集合: 1 package com.it18zhang.day08;2 3 import java.util.ArrayList;4 import java.util.Collections;5 6 public class PokerDemo {7 8 public static void main(String[] args) {9 // TODO Auto-generated method stub 10 //牌合 11 …

sudo apt update提示某个源超时

sudo apt update提示某个源超时 进入软件更新器&#xff0c;设置&#xff0c;选择其他软件&#xff0c;删除超时的连接。

jdk8 list转Map

函数&#xff1a;Collectors.toMapc 使用toMap()函数之后&#xff0c;返回的就是一个Map了&#xff0c;会需要key和value。 toMap()的第一个参数就是用来生成key值的&#xff0c;第二个参数就是用来生成value值的。 第三个参数用在key值冲突的情况下&#xff1a;如果新元素产…