Postgresql数据类型-时间类型

PostgreSQL对时间、日期数据类型的支持丰富而灵活,本节介绍PostgreSQL支持的时间、日期类型,及其操作符和常用函数。

PostgreSQL支持的时间、日期类型如表所示。

我们通过一个简单的例子理解这几个时间、日期数据类型,先来看看系统自带的now()函数,now()函数显示当前时间,返回的类型为timestamp [ (p) ] with time zone,如下所示:

        mydb=> SELECT now();now-------------------------------2017-07-29 09:44:25.493425+08(1 row)

 这里提前介绍下类型转换,本章最后一节将专门介绍数据类型转换的常用方法,以下SQL中的两个冒号是指类型转换,转换成timestamp without time zone格式如下,注意返回的数据变化:

        mydb=> SELECT now()::timestamp without time zone;now----------------------------2017-07-29 09:44:55.804403(1 row)

转换成date格式,如下所示:

        mydb=> SELECT now()::date;now------------2017-07-29(1 row)

转换成time without time zone,如下所示:

        mydb=> SELECT now()::time without time zone;now-----------------09:45:49.390428(1 row)

interval指时间间隔,时间间隔单位可以是hour、day、month、year等,举例如下:

        mydb=> SELECT now(), now()+interval'1 day';now               |           ? column?----------------------------------+-------------------------------2017-07-29 09:47:26.026418+08 | 2017-07-30 09:47:26.026418+08(1 row)

通过以上几个示例读者应该对时间、日期数据类型有了初步的了解,值得一提的是时间类型中的(p)是指时间精度,具体指秒后面小数点保留的位数,如果没声明精度默认值为6,以下示例声明精度为0:

        mydb=> SELECT now(), now()::timestamp(0);now               |         now----------------------------------+---------------------2017-07-29 09:59:42.688445+08 | 2017-07-29 09:59:43(1 row)

时间、日期数据类型支持的操作符有加、减、乘、除,下面举例说明。日期相加,如下所示:

        mydb=> SELECT date '2017-07-29' +  interval'1 days';?column?---------------------2017-07-30 00:00:00(1 row)

日期相减,如下所示:

        mydb=> SELECT date '2017-07-29' -  interval'1 hour';?column?---------------------2017-07-28 23:00:00(1 row)

日期相乘,如下所示:

        mydb=> SELECT 100* interval '1 second';?column?----------00:01:40(1 row)

日期相除,如下所示:

        mydb=> SELECT interval '1 hour' / double precision '3';?column?----------00:20:00(1 row)

接下来演示时间、日期常用函数。显示当前时间,如下所示:

        mydb=> SELECT current_date, current_time;current_date |    current_time-----------------+--------------------2017-07-29   | 10:53:10.375374+08(1 row)

另一个非常重要的函数为EXTRACT函数,可以从日期、时间数据类型中抽取年、月、日、时、分、秒信息,语法如下所示:

        EXTRACT(field FROM source)

field值可以为century、year、month、day、hour、minute、second等,source类型为timestamp、time、interval的值的表达式,例如取年份,代码如下所示:

        mydb=> SELECT EXTRACT( year FROM now());date_part-----------2017(1 row)

对于timestamp类型,取月份和月份里的第几天,代码如下所示:

        mydb=> SELECT EXTRACT( month FROM now()), EXTRACT(day FROM now());date_part | date_part--------------+-----------7 |        29(1 row)

取小时、分钟,如下所示:

        mydb=> SELECT EXTRACT( hour FROM now()), extract (minute FROM now());date_part | date_part--------------+-----------11 |        14

取秒,如下所示:

        mydb=> SELECT EXTRACT( second FROM now());date_part-----------43.031366(1 row)

取当前日期所在年份中的第几周,如下所示:

        mydb=> SELECT EXTRACT( week FROM now());date_part-----------30(1 row)

当天属于当年的第几天,如下所示:

        mydb=> SELECT EXTRACT( doy FROM now());date_part-----------210(1 row)

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

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

相关文章

70 内网安全-域横向内网漫游Socks代理隧道技术

目录 必要基础知识点:1.内外网简单知识2.内网1和内网2通信问题3.正向反向协议通信连接问题4.内网穿透代理隧道技术说明 演示案例:内网穿透Ngrok测试演示-两个内网通讯上线内网穿透Frp自建跳板测试-两个内网通讯上线CFS三层内网漫游安全测试演练-某CTF线下2019 涉及资源: 主要说…

深入分析MySQL索引与磁盘读取原理

索引 索引是对数据库表中一列或者多列数据检索时,为了加速查询而创建的一种结构。可以在建表的时候创建,也可以在后期添加。 USER表中有100万条数据,现在要执行一个查询"SELECT * FROM USER where ID999999",如果没有索…

挑战100天 AI In LeetCode Day05(热题+面试经典150题)

挑战100天 AI In LeetCode Day05(热题面试经典150题) 一、LeetCode介绍二、LeetCode 热题 HOT 100-72.1 题目2.2 题解 三、面试经典 150 题-73.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站,提供各种算法和数据结构的题目&am…

2023年腾讯云双11活动入口在哪里?

2023年双11腾讯云推出了11.11大促优惠活动,下面给大家分享腾讯云双11活动入口、活动时间、活动详情,希望可以助力大家轻松上云! 一、腾讯云双11活动入口 活动地址:点此直达 二、腾讯云双11活动时间 腾讯云双11活动时间跨度很长…

97 只出现一次的数字

只出现一次的数字 题解1 异或的应用(判断出现次数是奇偶) 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题…

【MySQL数据库】| 索引以及背后的数据结构

🎗️ 主页:小夜时雨 🎗️ 专栏:MySQL数据库 🎗️ 如何优雅的活着,是我找寻的方向 目录 1. 基本知识2. 索引背后的数据结构总结 1. 基本知识 概念 索引是一种特殊的文件,包含着对数据表里所有…

已解决:Python Error: IndentationError: expected an indented block 问题

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

19 数据中心详解

1、数据中心的概念 其实平时我们不管是看新闻,视频,下载文件等,最终访问的目的地都是在数据中心里面。数据中心存放的是服务器,区别于我们平时使用的笔记本或者台式机。 机架:数据中心的服务器被放在一个个叫作机架&…

代码随想录算法训练营第四十六天|139. 单词拆分、多重背包问题、总结

第九章 动态规划part08 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 关于字符串类型的题目还是…

NVM安装使用

文章目录 简要说明下载nvm安装nvm使用说明使用nvm下载各个版本的node.js查看已经下载到本地的node有哪些切换到对应的node版本后 简要说明 当我们在项目开发时,我们接手别人的项目、是当时开发的项目使用的node版、找开源项目学习的时候开源项目要求的node版本。和…

Count-based exploration with neural density models论文笔记

Count-based exploration with neural density models[J]. International Conference on Machine Learning,International Conference on Machine Learning, 2017. 基于计数的神经密度模型探索 0、问题 这篇文章的关键在于弄懂pseudo-count的概念,以及是如何运用…

springboot,spring框架返回204 status code的时候,会吞掉返回值

背景 发现有个有意思的现象,就是当你的接口返回204的 HTTP status code 的时候,会自动把 response body 吃掉,即使代码里是有返回的。例如 (其实204本身就是NO_CONTENT的意思,不过我是真没想到真干掉了返回&#xff0…

数据库系统概念系列 - 数据库系统的历史

从商业计算机的出现开始,数据处理就一直推动着计算机的发展。事实上,数据处理自动化早于计算机的出现。Herman Hollerith 发明的穿孔卡片,早在20世纪初就用来记录美国的人口普查数据,并且用机械系统来处理这些卡片和列出结果。穿孔…

Kotlin HashMap entries.filter过滤forEach

Kotlin HashMap entries.filter过滤forEach fun main(args: Array<String>) {val hashMap HashMap<String, Int>()hashMap["a"] 1hashMap["b"] 2hashMap["c"] 3println(hashMap)hashMap.entries.filter {println("filter $…

GDPU 数据结构 天码行空9

实验九 哈夫曼编码 一、【实验目的】 1、理解哈夫曼树的基本概念 2、掌握哈夫曼树的构造及数据结构设计 3、掌握哈夫曼编码问题设计和实现 二、【实验内容】 1、假设用于通信的电文仅由8个字母 {a, b, c, d, e, f, g, h} 构成&#xff0c;它们在电文中出现的概率分别为{ 0.…

酷安官网下载页前端自适应源码

酷安官网下载页前端自适应源码&#xff0c;自己拿走玩玩 站长只打开看了一眼&#xff0c;感觉风格还不错&#xff0c;纯html&#xff0c;自己魔改 转载自 https://www.qnziyw.cn/wysc/qdmb/24470.html

达梦SQL语法兼容笔记

1. DDL工具语法 查看库和表列表 # 查看所有数据库 select distinct object_name from all_objects where object_typeSCH; # 查看所有可见的表名&#xff1a; SELECT table_name FROM all_tables; # 查看用户可见的所有表 SELECT table_name FROM all_tables WHERE owner s…

磁盘空间占用巨大的meta.db-wal文件缓存(tracker-miner-fs索引服务)彻底清除办法

磁盘命令参考本博客linux磁盘空间满了怎么办. 问题: 磁盘空间被盗 今天瞄了一下我的Ubuntu系统盘&#xff0c; nftdiggernftdigger-Ubuntu:~$ df -h 文件系统 容量 已用 可用 已用% 挂载点 udev 16G 0 16G 0% /dev tmpfs 3.2G 1.9…

VUE获取当前日期的周日和周六

<template><div><div click"handleLast()">上一周</div><div click"handleNext()">下一周</div><el-calendarref"monChild"v-model"value":first-day-of-week"7":range"[sta…

2023.11.8 hadoop学习-概述,hdfs dfs的shell命令

目录 1.分布式和集群 2.Hadoop框架 3.版本更新 4.hadoop架构详解 5.页面访问端口 6.Hadoop-HDFS HDFS架构 HDFS副本 7.SHELL命令 8.启动hive服务 1.分布式和集群 分布式: 多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务)集 群:…