1.获取当前日期的年份

select to_char(t.detect_date,'YYYY')
select extract(year from now())为double precision 格式类型

  select to_char((SELECT now()::timestamp),'yyyy') 

2.获取下一年
select to_char((SELECT now()::timestamp+ '1 year'),'yyyy')
3.获取上一年
select to_char((SELECT now()::timestamp+ '-1 year'),'yyyy')

4.获取指定的时间日期

substring('2019-01-01' from 1 for 7)  输出值为   2019-01

5.获取两个时间点每个月的第一天的日期

select date(zz) from
generate_series(date_trunc('month',to_date('20150305','yyyymmdd')),
date_trunc('month',to_date('20150705','yyyymmdd')),'1 month') as tt(zz);

结果为:

g

6.日期相加减

 
SELECT now()::timestamp + '1 year';  --当前时间加1年
SELECT now()::timestamp + '1 month';  --当前时间加一个月
SELECT now()::timestamp + '1 day';  --当前时间加一天
SELECT now()::timestamp + '1 hour';  --当前时间加一个小时
SELECT now()::timestamp + '1 min';  --当前时间加一分钟
SELECT now()::timestamp + '1 sec';  --加一秒钟
select now()::timestamp + '1 year 1 month 1 day 1 hour 1 min 1 sec';  --加1年1月1天1时1分1秒
SELECT now()::timestamp + (col || ' day')::interval FROM table --把col字段转换成天 然后相加

7.按日期查询的方法

Timestamp without timezone

方法一:

select * from user_info where create_date >= '2015-07-01' and create_date < '2015-08-15';

方法二:为啥字符串可以按日期格式比较大小

select * from user_info where create_date

between '2015-07-01' and '2015-08-15';

方法三:

select * from user_info where create_date >= '2015-07-01'::timestamp and create_date < '2015-08-15'::timestamp;

方法四:

select * from user_info where create_date between to_date('2015-07-01','YYYY-MM-DD') and to_date('2015-08-15','YYYY-MM-DD');

8.显示序号

select (ROW_NUMBER () OVER (ORDER BY bb.SUM DESC)) AS xuhao from tb_person

9.获取日期 将01-01前的0 去掉

map.get("score_date").toString().substring(8).replaceFirst("^0*", "") ;

10.获取系统当前月的每天的日期

SELECT
generate_series ( date_trunc( 'month', to_date( to_char( NOW(), 'YYYY-MM-DD' ), 'YYYY-MM-DD' )) :: DATE, NOW() :: DATE, '1 day' ) :: DATE AS datetime

结果如下:

11.保留7天的日期

delete from  表名  where date_created <(now()-interval '7 day')

postgresql 相关函数总结的更多相关文章

  1. PostgreSQL时间格式及相关函数实践

    在创建表的时候,有客户需要将时间转为字符串,而且要求了具体的格式,如:20181115101010001.方便记录数据的更新时间,貌似是给Mysql使用,当时就很蛋疼,时间格式存储子啊数据库中就是va ...

  2. postgreSQL环境搭建

    一.安装 操作系统:windows7 安装介质:postgresql-9.1.3-1-windows.exe 二.psql控制台简单使用 1打开psql 2根据提示运行help 3列出表命令 三.安装 ...

  3. 《A Tour of PostgreSQL Internals》学习笔记——系统表和数据类型

    上周末学习了<A Tour of PostgreSQL Internals>的第一部分(View 1),今天我们继续打开书本,继续View 2 部分. View 2 Postgresql的 ...

  4. postgresql编译安装与调试(二)

    接前文postgresql编译安装与调试(一),继续说说postgresql的编译安装与调试. 上一篇已经详细说明了如何在Linux系统上编译安装postgresql,这次我们在此基础上简单讲讲如何在 ...

  5. 在CentOS上编译安装PostgreSQL

    http://my.oschina.net/tashi/blog 第一步:准备阶段 获取必需软件包: CentOS中查看是否安装了某个软件的命令:rpm -qa | grep 软件名.which命令可 ...

  6. 跟我一起读postgresql源码(八)——Executor(查询执行模块之——可优化语句的执行)

    2.可优化语句的执行 可优化语句的共同特点是它们被查询编译器处理后都会生成査询计划树,这一类语句由执行器(Executor)处理.该模块对外提供了三个接口: ExecutorStart.Executo ...

  7. [转]PostgreSQL源码结构

    PostgreSQL采用C/S(客户机/服务器)模式结构.应用层通过INET或者Unix Socket利用既定的协议与数据库服务器进行通信. 另外,还有一种‘Standalone Backend’使用 ...

  8. PostgreSQL本地化

    从管理员的角度描述可用的本地化特性.PostgreSQL支持两种本地化方法:利用操作系统的区域(locale)特性,提供对区域相关的排序顺序.数字格式. 翻译过的信息和其它方面.提供一些不同的字符集来 ...

  9. PostgreSQL 务实应用(四/5)JSON

    JSON 可谓风靡互联网,在数据交换使用上,其优势特别明显,其结构简洁.可读易读.形式灵活.很多 API 接口的数据都采用 JSON 来表示. PostgreSQL 对 JSON 提供了良好的支持.具 ...

随机推荐

  1. 【亲测有效】Ubuntu18.04 sudo apt update无法解析域名的解决方案

    问题描述如下: 拿起了封尘已久的ThinkPad,输入 sudo apt update 的时候,发现这个命令变得不好使了,具体出现的问题如下图所示: #( 09/08/19@ 2:44下午 )( py ...

  2. [Go] imap收信非并发

    待修正 package main import ( "flag" "fmt" "io/ioutil" "log" &qu ...

  3. Onenote添加代码

    使用Onenote做笔记的时候,是没有直接插入代码的,但是如果可以插入的话很方便. 这个是我找的一个参考,照这个来就行. 参考链接: https://www.cnblogs.com/two-peanu ...

  4. mysql命令大全一

    mysql -u root -p;create database qa;show databases;use qa; create table results(id int not null auto ...

  5. 使用python做一个爬虫GUI程序

    整体思路和之前的一篇博客爬虫豆瓣美女一致,这次加入了图片分类,同时利用tkinter模块做成GUI程序 效果如下: 整体代码如下: # -*- coding:utf-8 -*- import requ ...

  6. 第一行代码 Android (郭霖 著)

    https://github.com/guolindev/booksource 第1章 开始启程----你的第一行Android代码 (已看) 第2章 先从看得到的入手----探究活动 (已看) 第3 ...

  7. CSS使用知识点

    1.空白符   2.字符间距   3.省略号样式   4.水平垂直居中用法   5.CSS角标实现   空格符 1.  相当于键盘按下的空格,区别是 是可以累加的空格,键盘敲下的空格不会累加 2.  ...

  8. vue+elementui+netcore混合开发

    1.VueController.cs using Bogus; using System; using System.Collections.Generic; using System.Linq; u ...

  9. phpize安装PHP扩展

    安装编译完成php源码后忘记安装一些扩展可以通过phpize来安装 拿lnmp1.6安装举例 安装完成lnmp后发现有些扩展没有 lnmp1.6的安装脚本会在lnmp1.6里生成src,里面是lnmp ...

  10. 物联网架构成长之路(35)-利用Netty解析物联网自定义协议

    一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做 ...