PostgreSQL日期和时间相关函数

PostgreSQL日期和时间相关函数

    • 时间类型
    • 获取当前时间
    • 时间加减
    • 格式转换
    • 相关函数

示例:

--- 提取7天前的日期
SELECT (current_date - interval '7 day')::date as start_date

-- 明天的日期
SELECT (current_date + interval '1 day')::date as end_date

-- 当年的第一天
SELECT DATE_TRUNC('YEAR', CURRENT_DATE)::date
-- 2023-01-01

-- 当月的第一天
SELECT DATE_TRUNC('MONTH', CURRENT_DATE)::date
SELECT DATE_TRUNC('MONTH', current_timestamp)::date
-- 2023-12-01

-- 当年的最后一天
SELECT (DATE_TRUNC('YEAR', CURRENT_DATE+ INTERVAL '1 year') - interval '1 day')::date
-- 2023-12-31

-- 提取当前时间小时
select EXTRACT(HOUR FROM CURRENT_TIME)

时间类型

  • timestamp:时间戳。格式为1997-01-01 00:00:00,January 8 04:05:06 1999 PST

  • date:日期。格式为1997-01-01,19970101,1/1/1997,Jan-1-1997等

  • time:时间。12:00:00,120000,12:00,8:00 AM,8:00 PM等格式

  • interval:时间间隔。格式为: 1 year 2 months 3 days 4 hours 5 minutes 6 seconds

获取当前时间

  • now():获取当前完整时间
  • current_timestamp:当前事务开始时的时间戳,同 now() 函数等效
  • current_date:获取当前日期
  • current_time:获取当前时间
  • localtime:当前时间
  • localtimestamp:当前事务开始时的时间戳
-- 获取当前完整时间
select now(), current_timestamp, localtimestamp, clock_timestamp()
-- 2023-12-28 09:42:01.188 +0800, 2023-12-28 09:42:01.188 +0800, 2023-12-28 09:42:01.188, 2023-12-28 09:42:01.188 +0800

-- 获取当前日期或时间
select current_date, current_time, localtime;
-- 2023-12-28, 09:43:47 +0800, 09:43:47

时间加减

select now() + interval '2 years';
select now() + interval '2 year'; 
select now() + interval '2 y';
select now() + interval '2 Y';
select now() + interval '2Y';

-- 同理可得月周日时分秒: months, weeks, days, hours, minutes, seconds
SELECT
	now( ) + INTERVAL '2 years',--两年后
	now( ) + INTERVAL '1 month',--一个月后
	now( ) - INTERVAL '3 week',--三周前
	now( ) + '10 min';--十分钟后

格式转换

-- 时间转字符串
select to_char(now(), 'YYYY-MM-DD HH-MI:SS')
-- 2023-12-28 09-56:23

-- 字符串转日期
select to_date('05 Dec 2000', 'DD Mon YYYY')
-- 2000-12-05

-- 字符串转时间
select to_timestamp('05 Dec 2000', 'DD Mon YYYY')
-- 2000-12-05 00:00:00.000 +0800

-- Unix时间戳转时间
select to_timestamp(1703728867)
-- 2023-12-28 10:01:07.000 +0800

日期和时间字符串转换常用格式:

HH	一天的小时数(01-12)
HH12	一天的小时数(01-12)
HH24	一天的小时数(00-23)
MI	分钟(00-59)
SS	秒(00-59)
MS	毫秒(000-999)
US	微秒(000000-999999)
AM	正午标识(大写)
Y,YYY	带逗号的年(4和更多位)
YYYY	年(4和更多位)
YYY	年的后三位
YY	年的后两位
Y	年的最后一位
MONTH	全长大写月份名(空白填充为9字符)
Month	全长混合大小写月份名(空白填充为9字符)
month	全长小写月份名(空白填充为9字符)
MON	大写缩写月份名(3字符)
Mon	缩写混合大小写月份名(3字符)
mon	小写缩写月份名(3字符)
MM	月份号(01-12)
DAY	全长大写日期名(空白填充为9字符)
Day	全长混合大小写日期名(空白填充为9字符)
day	全长小写日期名(空白填充为9字符)
DY	缩写大写日期名(3字符)
Dy	缩写混合大小写日期名(3字符)
dy	缩写小写日期名(3字符)
DDD	一年里的日子(001-366)
DD	一个月里的日子(01-31)
D	一周里的日子(1-7;周日是1)
W	一个月里的周数(1-5)(第一周从该月第一天开始)
WW	一年里的周数(1-53)(第一周从该年的第一天开始)

相关函数

-- 时间间隔
select age('2023-11-11', '2023-11-1')
-- 10 days

-- 时间截取
select now(), date_part('hour', now()), date_part('min', now()), date_part('sec', now())
-- 2023-12-28 10:13:14.046 +0800, 10, 13, 14.046271

-- 截断至指定精度
select timestamp '2023-12-13 10:15:26', date_trunc('year', timestamp '2023-12-13 10:15:26'), date_trunc('month', timestamp '2023-12-13 10:15:26'), date_trunc('day', timestamp '2023-12-13 10:15:26'), date_trunc('hour', timestamp '2023-12-13 10:15:26')
-- 2023-12-13 10:15:26.000, 2023-01-01 00:00:00.000, 2023-12-01 00:00:00.000, 2023-12-13 00:00:00.000, 2023-12-13 10:00:00.000

-- 提取时间的年,月,日,时,分,秒
SELECT EXTRACT(YEAR FROM now()), EXTRACT(MONTH FROM now()), EXTRACT(DAY FROM now()), EXTRACT(HOUR FROM now()), EXTRACT(MIN FROM now()), EXTRACT(SEC FROM now())

PostgreSQL的日期/时间函数 https://blog.csdn.net/Super_King_/article/details/121521421
PostgreSQL函数——时间函数 https://blog.csdn.net/qq_33459369/article/details/119417288

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2.2 Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3-基础-Vue基本语法

文本渲染指令 文本渲染指令-v-html与v-text Vue使用了基于HTML的模板语法,允许开发者声明式地将DOM绑定至底层Vue实例的数据。所有Vue的模板都是 合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析。 在前面,我们一直使用的是字符串插…

探索科技园区的创新应用架构

在当今科技快速发展的时代,科技园区已经成为了创新和技术发展的孵化器和聚集地。在这样的环境中,科技园区的应用架构扮演着至关重要的角色,它不仅需要支持各种创新型企业和科技项目的发展,还需要提供高效的技术基础设施和服务。下…

python 11Pandas数据可视化实验

实验目的: 学会使用Pandas操作数据集,并进行可视化。 数据集描述: 该数据集是CNKI中与“中药毒理反应”相关的文献信息,包含文章题目、作者、来源(出版社)、摘要、发表时间等信息。 实验要求&#xff1…

ubuntu外置网卡配置AP模式

外置网卡RTL8811CU设置 UBUNTU使用RTL8811CU网卡(包含树莓派) 外置网卡配置AP模式流程 1. 检查网卡支持情况(是否支持AP模式) iw list找到以上部分,发现支持AP 2. 安装依赖 sudo apt-get update sudo apt-get in…

39 死锁

目录 1.死锁 2.线程同步 3.条件变量 4.案例 死锁 概念 死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所占用不会释放的资源而处于的一种永久等待状态 四个必要条件 互斥条件:一个资源每次只能被一个执行流使用 请求…

MFC 列表控件修改实例(源码下载)

1、本程序基于前期我的博客文章《MFC下拉菜单打钩图标存取实例(源码下载)》 2、程序功能选中列表控件某一项,修改这一项的按钮由禁止变为可用,双击这个按钮弹出对话框可对这一项的记录数据进行修改,点击确定保存修改数…

SpirngBoot整合快递100

目录 一、注册快递100 二、技术文档地址 三、需要认证的key和comcumer 四、spring boot 整合快递 100使用 4.1 引入快递100和hutool的依赖 4.2 将key和comcumer写入application.properties文件中 4.3 新建一个modle,用于将查出来的json数据转成对象 4.4 新建一个controll…

golang 基础知识细节回顾

之前学习golang的速度过于快,部分内容有点囫囵吞枣的感觉,写gorm过程中有很多违反我常识的地方,我通过复习去修正了我之前认知错误和遗漏的地方。 itoa itoa自增的作用在编辑error code时候作用很大,之前编辑springboot的error c…

python从0开始学习

目录 前言 1、print函数 2、input函数 3、保留字和标识符 总结 前言 本篇文章我们开辟一个新的学习模块:python。python是一个十分简洁实用的编程语言,我们将从0开始学习python 1、print函数 print(*args, sep , end\n, fileNone, flushFalse) pytho…

2024五一数学建模C题煤矿深部开采冲击地压危险预测原创论文分享

大家好,从昨天肝到现在,终于完成了2024五一数学建模竞赛C题的完整论文啦。 实在精力有限,具体的讲解大家可以去讲解视频: 2024五一数学建模C题完整原创论文讲解,手把手保姆级教学!_哔哩哔哩_bilibili 202…

[1678]旅游景点信息Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 旅游景点信息管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql…

在idea中连接mysql

IDE(集成开发环境)是一种软件应用程序,它为开发者提供编程语言的开发环境,通常集成了编码、编译、调试和运行程序的多种功能。一个好的IDE可以大幅提高开发效率,尤其是在进行大型项目开发时。IDE通常包括以下几个核心组…

酒水门店私域流量运营搭建执行规划方案

【干货资料持续更新,以防走丢】 酒水门店私域流量运营搭建执行规划方案 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT可编辑(完整资料包含以下内容) 目录 精酿啤酒品牌私域执行运营的内容策划,涉及以下几个…

在做题中学习(48):朴素的二分查找

. - 力扣(LeetCode) 解法一: 暴力求解 for循环中,从nums[0]枚举到nums[n-1],依次判断,返回 target的值。 时间复杂度 : O(N) :因为要遍历一遍数组 解法二:二分查找 因为此数组为有序的…

利用Github发现优质的学习项目网址

1. 直接搜索,star的数量越多的项目质量越高 2.Github Trending 地址: https://github.com/trending 3. Gitstar Ranking 地址: https://gistar-ranking.com/ 4. Awesome Topic 地址: https://github.com/topics/awesome

FIFO Generate IP核使用——Data Counts页详解

在Vivado IDE中,当看到一个用于设置数据计数选项的选项卡时,需要注意的是,尽管某些选项值可能因为当前的配置而显示为灰色(即不可选或已禁用),但IDE中显示的有效范围值实际上是你可以选择的真实值。即使某些…

静态库、动态库回顾

回顾一下库相关的知识点&#xff0c;总结备忘一下。在某种情况下&#xff0c;你有了如下的代码&#xff0c;结构如下 //pra.h #include <stdio.h> void test_01(); //pra.c #include "pra.h" void test_01() {printf("xxxxxxx----->%s %s()\n",…

莫比乌斯变换的数学原理

一、说明 关于莫比乌斯变换&#xff0c;是一个代数几何变换的重要概念。也是双曲几何的重要理论&#xff0c;比如庞加莱盘就是建立在这个理论上&#xff0c;那么这个变换到底有哪些内容&#xff1f;本文将做出详细的解读。 二、线性变换和逆变换 在本节中&#xff0c;我们研…

# notepad++ 编辑器英文版,如何打开自动换行

notepad 编辑器英文版&#xff0c;如何打开自动换行 在Notepad中&#xff0c;如果你想要开启自动换行功能&#xff0c;可以按照以下步骤操作&#xff1a; 1、打开 Notepad 编辑器。 1.1. 依次点击菜单栏中的【视图】&#xff0c;英文版对应【View】。1.2. 在【视图】下拉菜单…

css---浮动知识点精炼汇总

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 浮动简单理解与介绍 这是我们普通的页面标签效果。 每个标签从上到下依次排列。 浮动顾名思义就是让这个标签飞翔起来。 他飞起来后&#xff0c;后面的标签来到他的位置上。 而浮动的标签就会显示在标签的上面。…
最新文章