PostgreSQL 时间函数分类与特性
KingbaseES 时间函数有两大类:返回事务开始时间和返回语句执行时的时间。具体函数看以下例子:
1、返回事务开始时的时间
以下函数返回事务开始的时间(通过 begin .. end 两次调用结果相同):now, current_time , transaction_timestamp 返回的都是事务开始的时间。
test=# select now(),sys_sleep(1),now();
NOW | SYS_SLEEP | NOW
-------------------------------+-----------+-------------------------------
2022-03-02 13:57:41.702597+08 | | 2022-03-02 13:57:41.702597+08
(1 row) test=# select current_time ,sys_sleep(1),current_time;
CURRENT_TIME | SYS_SLEEP | CURRENT_TIME
--------------------+-----------+--------------------
14:01:26.031228+08 | | 14:01:26.031228+08
(1 row) test=# select transaction_timestamp(),sys_sleep(1),transaction_timestamp();
TRANSACTION_TIMESTAMP | SYS_SLEEP | TRANSACTION_TIMESTAMP
-------------------------------+-----------+-------------------------------
2022-03-02 14:01:31.756111+08 | | 2022-03-02 14:01:31.756111+08
(1 row)
2、返回函数执行时的时间
clock_timestamp ,timeofday 返回的是函数 执行时刻的时间
test=# select clock_timestamp(),sys_sleep(1),clock_timestamp();
CLOCK_TIMESTAMP | SYS_SLEEP | CLOCK_TIMESTAMP
-------------------------------+-----------+-------------------------------
2022-03-02 14:05:44.657881+08 | | 2022-03-02 14:05:45.659408+08
(1 row) test=# select timeofday(),sys_sleep(1),timeofday();
TIMEOFDAY | SYS_SLEEP | TIMEOFDAY
-------------------------------------+-----------+-------------------------------------
Wed Mar 02 14:05:52.292714 2022 CST | | Wed Mar 02 14:05:53.293870 2022 CST
(1 row)
3、返回语句的执行时间
statement_timestamp 比较特殊:
test=# select statement_timestamp(),sys_sleep(1),statement_timestamp();
statement_timestamp | sys_sleep | statement_timestamp
-------------------------------+-----------+-------------------------------
2021-09-13 17:00:23.635612+08 | | 2021-09-13 17:00:23.635612+08
(1 row) test=# begin;
BEGIN
test=# select statement_timestamp();
statement_timestamp
-------------------------------
2021-09-13 17:04:14.442012+08
(1 row) test=# select statement_timestamp();
statement_timestamp
-------------------------------
2021-09-13 17:04:20.638240+08
(1 row) test=# commit;
4、来看几个函数的稳定性
PRONAME | PROVOLATILE
-----------------------+-------------
clock_timestamp | v
now | s
statement_timestamp | s
timeofday | v
transaction_timestamp | s
(5 rows)
从函数稳定性也可以看出 clock_timestamp , timeofday 是volatile , 同一条语句多次调用必须多次执行。
PostgreSQL 时间函数分类与特性的更多相关文章
- PostgreSQL 时间函数 extract函数
计算时间差天数 select extract(day FROM (age('2017-12-10'::date , '2017-12-01'::date))); 计算时间差秒数 select ex ...
- postgreSQL时间、日期函数
一.获取系统时间函数 1.1.获取当前完整时间 select now(); select current_timestamp; 1.2.获取当前日期 select currnt_date: 1.3.获 ...
- PostgreSQL的时间函数使用整理
PG的时间函数使用整理如下 1.获取系统时间函数 select now(); --2012-05-12 18:51:59.562+08 select current_timestamp; --2012 ...
- MySQL数据库学习笔记(五)----MySQL字符串函数、日期时间函数
一.常见字符串函数: 1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位置 5.LEFT/RIGHT 取左 ...
- php时间函数time(),date(),mktime()区别
php时间函数time(),date(),mktime()区别 浏览:1161 发布日期:2014/12/18 分类:系统代码 关键字: php时间函数 time() date()mktime() ...
- mysql日期时间函数2
win7可以设定每周从哪一天开始,win2003等不能方便的修改.有的是周日开始,有的是周一开始.而工作中有的时候每周是从周六开始算的,有些数据需要按周统计,那么那种方式比较好呢? 通过下面的研究 ...
- MySQL字符串函数、日期时间函数
MySQL字符串函数.日期时间函数 一.常见字符串函数: 1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位 ...
- mysql学习笔记--- 字符串函数、日期时间函数
一.常见字符串函数: 1.CHAR_LENGTH 获取长度(字符为单位) 2.FORMAT 格式化 3.INSERT 替换的方式插入 4.INSTR 获取位置 5.LEFT/RIGHT 取左 ...
- PostgreSQL时间格式及相关函数实践
在创建表的时候,有客户需要将时间转为字符串,而且要求了具体的格式,如:20181115101010001.方便记录数据的更新时间,貌似是给Mysql使用,当时就很蛋疼,时间格式存储子啊数据库中就是va ...
随机推荐
- javascript写无缝平移的轮播图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Linux IO重定向和管道
计算机组成部分: 由io . 控制器.计算器.存储器组成 IO: input output 计算机里面通过终端窗口实现输入和输出,键盘鼠标屏幕这些只是手段,真正完成输入输出的是终端窗口 标准输入.出. ...
- ByDesign各版本区别
by zyi
- Linux for CentOS 下的 keepalived 安装与卸载以及相关命令操作之详细教程
百度百科解释: keepalived 是一个类似于 layer3, 4 & 7 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 7 层交换.Keepalived 的作用是检测 w ...
- 使用Kind快速构建k8s
什么是 KindKind(Kubernetes in Docker) 是一个 Kubernetes 孵化项目,Kind 是一套开箱即用的 Kubernetes 环境搭建方案.顾名思义,就是将 Kube ...
- CF484A Bits
CF484A Bits 题目 https://codeforces.com/problemset/problem/484/A 题解 思路 知识点:贪心,位运算. 每位独立考虑,要使 \(1\) 的数量 ...
- ArrayList集合存储基本数据类型
如何存储基本数据类型 ArrayList对象不能存储基本类型,只能存储引用类型的数据.类似 <int> 不能写,但是存储基本数据类型对应的 包装类型是可以的.所以,想要存储基本类型数据, ...
- FastASR——PaddleSpeech的C++实现
FastASR 基于PaddleSpeech所使用的conformer模型,使用C++的高效实现模型推理,在树莓派4B等ARM平台运行也可流畅运行. 项目简介 本项目仅实现了PaddleSpeech ...
- 万字干货|Java基础面试题(2022版)
目录 概念常识 Java 语言有哪些特点? JVM.JRE和JDK的关系 什么是字节码? 为什么说 Java 语言是"编译与解释并存"? Oracle JDK 和OpenJDK的区 ...
- 阿里 Maven仓库
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...