当前位置: 首页 > article >正文

【PostgreSQL】日期操作

1、获取当前日期的函数和当前时间的函数

使用日期函数获取系统当期日期,输入语句如下:

SELECT CURRENT_DATE;

使用时间函数获取系统当期日期(返回时带时区),输入语句如下:

SELECT CURRENT_TIME;

使用时间函数获取系统当期日期(返回时不带时区),输入语句如下:

SELECT LOCALTIME;

2、返回当前日期和时间的函数

使用日期时间函数获取当前系统日期和时间,输入语句如下:

SELECT CURRENT_TIMESTAMP,LOCALTIMESTAMP,NOW();

3、获取指定值的日期

使用EXTRACT函数从月份中提取日期,输入语句如下:

SELECT EXTRACT(DAY FROM TIMESTAMP '2012-09-10 10:18:40');

使用EXTRACT函数从月份中提取月份,输入语句如下:

SELECT EXTRACT(MONTH FROM TIMESTAMP '2012-09-10 10:18:40');

使用EXTRACT函数从月份中提取年份,输入语句如下:

SELECT EXTRACT(YEAR FROM TIMESTAMP '2012-09-10 10:18:40');

使用EXTRACT函数查询指定日期是一年中的第几天,输入语句如下:

SELECT EXTRACT(DOY FROM TIMESTAMP '2012-09-10 10:18:40');

使用EXTRACT函数查询指定日期是一周中的星期几,输入语句如下:

SELECT EXTRACT(DOW FROM TIMESTAMP '2012-09-10 10:18:40');

使用EXTRACT函数查询指定日期是该年的第几季度(1-4),输入语句如下:

SELECT EXTRACT(QUARTER FROM TIMESTAMP '2012-09-10 10:18:40');

4、日期和时间的运算操作

计算指定日期加上间隔天数后的结果,输入语句如下:

SELECT DATE '2019-09-28' + integer '10';

计算指定日期加上间隔小时后的结果,输入语句如下:

SELECT DATE '2012-09-28' + interval '3 hour';

计算指定日期加上指定时间后的结果,输入语句如下:

SELECT DATE '2012-09-28' + time '06:00';

计算指定日期和时间加上间隔时间后的结果,输入语句如下:

SELECT TIMESTAMP '2012-09-28 02:00:00' + interval '10 hours';

计算指定日期之间的间隔天数,输入语句如下:

SELECT date '2012-11-01' - date '2012-09-10';

计算指定日期减去间隔天数后的结果,输入语句如下:

SELECT DATE '2012-09-28' - integer '10';

计算整数与天数相乘的结果,输入语句如下:

SELECT 15 * interval '2 day';

计算整数与秒数相乘的结果,输入语句如下:

SELECT 50 * interval '2 second';

计算小时数与整数相乘的结果,输入语句如下:

SELECT interval '1 hour' / integer  '2';

5、extract函数从日期/时间值中抽取子域,例如年或者小时等

-- CENTURY YEAR MONTH  DAY  HOUR MIN SEC
SELECT EXTRACT(CENTURY FROM TIMESTAMP '2023-11-17 16:55:13');

SELECT EXTRACT(MIN FROM TIMESTAMP '2023-11-17 16:55:13');

6、数据类型格式化函数

to_char(timestamp, text)	text	把时间戳转成字符串	to_char(current_timestamp, 'HH12:MI:SS')
to_char(interval, text)	text	把间隔转成字符串	to_char(interval '15h 2m 12s', 'HH24:MI:SS')
to_char(int, text)	text	把整数转成字符串	to_char(125, '999')
to_char(double precision, text)	text	把实数或双精度转成字符串	to_char(125.8::real, '999D9')
to_char(numeric, text)	text	把数字转成字符串	to_char(-125.8, '999D99S')
to_date(text, text)	date	把字符串转成日期	to_date('05 Dec 2000', 'DD Mon YYYY')
to_number(text, text)	numeric	把字符串转成数字	to_number('12,454.8-', '99G999D9S')
to_timestamp(text, text)	timestamp with time zone	把字符串转成时间戳	to_timestamp('05 Dec 2000', 'DD Mon YYYY')

7、时间戳 转换 时间

select to_timestamp( 1700212063000 / 1000) AT TIME ZONE 'PRC'

http://www.kler.cn/a/134448.html

相关文章:

  • JVM 中的完整 GC 流程
  • influxDB 时序数据库安装 flux语法 restful接口 nodjsAPI
  • qt QProcess详解
  • 项目集章程program charter
  • 区块链技术在慈善捐赠中的应用
  • ❤React-React 组件通讯
  • 邦芒支招:求职自荐的五条技巧
  • 如何为视频添加旁白,有哪些操作技巧?
  • [Android]创建TabBar
  • IOS 关于CoreText的笔记
  • idea中误删.iml和.idea文件,如何处理
  • flink 查看写入starrocks的数据量 总行数
  • VivadoAndTcl: synth_ip
  • ASUS华硕ROG幻13笔记本电脑GV301QE原厂Windows10系统
  • 区别Vue 2.0 和 Vue 3.0
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • 让资产权利归于建设者:Kiosk使过程变得更简单
  • BSN专网项目介绍:宁波市区块链新型基础设施“甬链”
  • JS实现拖拽效果(内含源码)
  • 统信UOS通过源码安装软件提示“configure: error: cannot run C compiled programs.”错误
  • Vue2基础-Vue对象进阶介绍1
  • 数字化未来:实时云渲染在智慧城市中的创新应用
  • 新生儿奶藓:原因、科普和注意事项
  • 安顿APP3.0全新升级,引领智能穿戴健康革新,专注预警疾病风险
  • 苹果怎么互传照片?简单方法总结好了!
  • LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字