postgresql 时区与时间函数
--把时间戳转成epoch值
postgres=# select extract(epoch from now());date_part
------------------1447898857.74524
(1 row)--把epoch 值转换回时间戳
postgres=# SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1447898857.74524 * INTERVAL '1 second'; ?column?
------------------------------2015-11-19 10:07:37.74524+08postgres=# SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1447898857.74524 * INTERVAL '1 second'; ?column?
------------------------------2015-11-19 10:07:37.74524+08--查看当前的时间戳
postgres=# select clock_timestamp(),current_timestamp,localtimestamp;clock_timestamp | now | timestamp
-------------------------------+-------------------------------+----------------------------2016-02-02 17:54:15.547194+08 | 2016-02-02 17:54:15.546956+08 | 2016-02-02 17:54:15.546956--时间加减
postgres=# select date '2016-02-02 10:00:00'+ interval '10 minutes'; ?column?
---------------------2016-02-02 00:10:00--直接用sql生成随机日期时间
select '2015-5-1'::date + trunc(random()*100)::integer +' 00:22:22'::time + (trunc(random()*3600*24)||' second')::interval; --不同时区之间的转换
postgres=# select '2016-02-03 09:07:30.816885+08' at time zone 'pst';timezone
----------------------------2016-02-02 17:07:30.816885
(1 row)postgres=# select '2016-02-03 09:07:30.816885+08' at time zone 'cct';timezone
----------------------------2016-02-03 09:07:30.816885
(1 row)postgres=# SELECT TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40-05' AT TIME ZONE 'cct';timezone
---------------------2001-02-17 09:38:40--查看系统支持的时区select * from pg_timezone_names ; --时区设置参数
timezone = 'PRC'--修改时区的方法
1. 全局参数
postgresql.conf
timezone='UTC'2. 数据库级配置
alter database dbname set timezone='UTC';pipeline=# select * from pg_db_role_setting ;setdatabase | setrole | setconfig
-------------+---------+--------------------------------------14930 | 0 | {TimeZone=UTC}3. 用户级配置
alter role rolname set timezone='UTC';
或者
alter role all set timezone='UTC';pipeline=# select * from pg_db_role_setting ;setdatabase | setrole | setconfig
-------------+---------+--------------------------------------14930 | 0 | {TimeZone=UTC}0 | 0 | {TimeZone=UTC}--创建随机日期时间函数 CREATE OR REPLACE FUNCTION rand_date_time(start_date date, end_date date) RETURNS TIMESTAMP AS
$BODY$ DECLARE interval_days integer; random_seconds integer;
random_dates integer; random_date date; random_time time;BEGIN interval_days := end_date - start_date; random_dates:= trunc(random()*interval_days);random_date := start_date + random_dates; random_seconds:= trunc(random()*3600*24); random_time:=' 00:00:00'::time+(random_seconds || ' second')::INTERVAL;RETURN random_date +random_time;
END;
$BODY$
LANGUAGE plpgsql;
--生成指定时间内的随机时间
SELECT rand_date_time('2000-01-01', '2013-12-31'); --休眠1.5秒后执行,单位秒
SELECT clock_timestamp(),pg_sleep(1.5),clock_timestamp();
--休眠5分钟,单位interval
SELECT clock_timestamp(),pg_sleep_for('5 minutes'),clock_timestamp();
--到指定时间执行,注意这些休眠时间不是完全精确的
SELECT clock_timestamp(),pg_sleep_until('today 10:00'),clock_timestamp();
postgresql 时区与时间函数相关推荐
- pg数据库生成随机时间_postgresql 时区与时间函数-阿里云开发者社区
postgresql 时区与时间函数 rudygao 2016-02-03 1951浏览量 简介: --把时间戳转成epoch值 postgres=# select extract(epoch fro ...
- mysql 时区与时间函数
--在mysql中可以直接使用sleep()函数,sysdate函数返回的是执行到当前函数的时间,而now函数返回的是执行sql的时间 mysql> SELECT now(),SYSDATE() ...
- php 时间戳 时区,PHP时间函数 时间戳 设置时区
目录: 什么是时间戳 设置时区的方式 与时间相关的函数 1.什么是时间戳 现实中如何表示时间? 中国:2020年10月9日 下午3点30分 外国:9/10/2020 世界各国时间表示方式不一样,导致计 ...
- Oracle全球化 —— 时间类型、时区与时间函数
最近遇到一个表中数据时区不对的问题,排查思路一般是看表字段类型.看时区以及看插入时间的方法.Oracle官方文档<Database Globalization Support Guide> ...
- postgresql兼容MySQL 时间函数date_format
MySQL DATE_FORMAT() 函数 定义和用法 DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. 语法 DATE_FORMAT(date,format) date 参数是 ...
- 时间基础概念及Linux中的时间函数
时间基础概念及Linux中的时间函数 时间相关概念 GMT 时间 UTC 时间 时区 `Time Zone` 夏令时 `DST` 本地时间 `localtime` Linux 系统中的时间 时钟基础概 ...
- Hive、Presto、PostgreSQL 时区、日期、时间转换(昨天、周)
Hive UTC转GMT+0800(东八区) select from_utc_timestamp(cast(regexp_replace(regexp_replace('2019-07-12T09:0 ...
- linux系统时间函数,Linux时间时区详解与常用时间函数
时间与时区 整个地球分为二十四时区,每个时区都有自己的本地时间. UTC时间 与 GMT时间 我们可以认为格林威治时间就是时间协调时间(GMT = UTC),格林威治时间和UTC时间都用秒数来计算的. ...
- PostgreSQL date_trunc() 截断日期函数,完成定时时间语法.
摘要:Oracle有大量的日期函数可供使用,trunc, new_time,months_between,next_day,last_day,add_months,round等函数.当然Postgre ...
- PostgreSQL常用字符串函数和时间函数:
一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...
最新文章
- 【朝花夕拾】Android性能篇之(二)Java内存分配
- c++ -DNDEBUG openMP优化
- Linux shell脚本附带选项(参数传递及接收)
- 法流程图_【对反应过程的笔记整理方法——时间轴法】
- 干掉 Swagger,试试这个!
- python + selenium - selenium常用元素定位
- 控制工程实践(8)——PID四种类型控制器(之比例-积分控制器PI)
- 本科论文查重经验分享
- mysql mysqld multi_MySQL 使用mysqld_multi部署单机多实例详细过程 (转)
- MATLAB学习笔记之矩阵和数组1.1(mathematic)
- 提高代码质量——使用Jest和Sinon给已有的代码添加单元测试
- 【华为机试真题 Python】跳格子游戏
- android studio 56 下载网络歌曲 代码
- 127.0.0.1:3000端口已被占用
- ListView和CheckBox的混乱问题
- SpringBoot集成阿里云OSS上传文件
- 时尚的法老—图坦卡门
- 管理者不可不知的5个管理常识,说的有道理
- 深度学习在药物发现领域的兴起
- Android03_事件处理一
热门文章
- python实现连接池技术
- IDEA插件系列-玩转JSON与实体类互相转换
- 卷积神经网络的卷积操作
- 最新基于高德地图的android进阶开发(1)获取 Map API Key
- Raki的读paper小记:NATURAL LANGUAGE INFERENCE OVER INTERACTION SPACE
- 【旧文章搬运】PsVoid中IrpCreateFile函数在Win7下蓝屏BUG分析及解决
- CTF 湖湘杯 2018 WriteUp (部分)
- Docker与.Net项目类型
- centos6安装python3.4和pip3
- Java_基础_fail-fast