PostgreSQL每日一贴--时间日期函数与事务
来源:互联网 发布:seo免费培训教程 编辑:程序博客网 时间:2024/05/16 06:59
CURRENT_TIME,CURRENT_DATE,CURRENT_TIMESTAMP,LOCALTIMESTAMP等函数把时间当做当前事务的开始返回;在事务运行的时候, 它们的数值并不改变。 PostgreSQL认为这是一个特性:目的是为了允许一个事务在"当前" 时间上有连贯的概念,这样在同一个事务离得多个修改可以有同样的时间戳。
测试结果如下
如果要希望事务中时间是改变的,需要使用clock_timestamp或timeofday函数
测试代码如下
CREATE OR REPLACE FUNCTION TEST_CURRENT_TIME() RETURNS double precision AS $$DECLARE start_time time;end_time time;time_consuming double precision ;BEGIN time_consuming := -1; select current_time into start_time;perform pg_sleep(3);select current_time into end_time;select round(EXTRACT(EPOCH from start_time)-EXTRACT(EPOCH from end_time)) into time_consuming;return time_consuming;END;$$ LANGUAGE plpgsql;CREATE OR REPLACE FUNCTION TEST_CLOCK_TIMESTAMP() RETURNS double precision AS $$DECLARE start_time timestamp;end_time timestamp;time_consuming double precision;BEGIN time_consuming := -1; select clock_timestamp() into start_time;perform pg_sleep(3);select clock_timestamp() into end_time;select round(EXTRACT(EPOCH from end_time)-EXTRACT(EPOCH from start_time)) into time_consuming;return time_consuming;END;$$ LANGUAGE plpgsql;
测试结果如下
postgres=> select * from TEST_CURRENT_TIME();
test_current_time
-------------------
0
(1 row)
postgres=> select * from TEST_CLOCK_TIMESTAMP();
test_clock_timestamp
----------------------
3
(1 row)
postgres=>
0 0
- PostgreSQL每日一贴--时间日期函数与事务
- PostgreSQL每日一贴-事务,与ORACLE的区别
- PostgreSQL每日一贴-函数三态学习
- PostgreSQL的时间/日期函数使用
- PostgreSQL的时间/日期函数使用
- PostgreSQL的时间/日期函数使用
- PostgreSQL的时间/日期函数使用
- postgresql 时区与时间函数
- 每日一结,事务与连接池
- 日期与时间函数
- PostgreSQL每日一贴-数据库磁盘空间占用
- PostgreSQL每日一贴-pg_stat_statements文档
- postgresql 存储过程函数:时间戳与日期字符串相互转换
- 【PostgreSQL-9.6.3】函数(3)--日期和时间函数
- SQL日期与时间函数
- PHP 日期与时间函数
- PostgreSQL日期函数备忘
- PostgreSQL日期函数
- 利用libjpeg库解码内存中的jpeg数据
- 调试信息输出
- 无意中实现的一种效果
- [Android开发笔记]google提供的一套增删改查方法的使用。
- Vxworks启动代码usrRoot()函数分析(二)
- PostgreSQL每日一贴--时间日期函数与事务
- hdoj1036
- JS相关
- 我的2014-转行转行再转行,坚守互联网
- oc中类的定义与php中类定义的区别
- Machine Learning - I. Introduction机器学习综述 (Week 1)
- PL/SQL 常量
- Codeforces Round #287 (Div. 2)
- NTAPI枚举指定进程中指定模块创建的线程