数据库中对时间的操作(mySql、Oracle、pgSql)

目录

mySql

PGSQL

oracle


两个日期年数差

月数差

天数差

小时差

加一年

加一月

加一天

加一小时

加一分钟

加一秒

mySql

-- %Y-%m-%d %H:%i:%s 区分大小写 m  d i    s小写
-- 两个日期年数差

SELECT TIMESTAMPDIFF(YEAR, STR_TO_DATE('2000-12-12','%Y-%m-%d'), STR_TO_DATE('2023-12-12','%Y-%m-%d')) AS YEAR_DIFF;


-- 两个日期年数差

SELECT TIMESTAMPDIFF(YEAR, DATE_FORMAT('2000-12-12','%Y-%m-%d'), DATE_FORMAT('2023-12-12','%Y-%m-%d')) AS YEAR_DIFF;


-- 两个日期年数差

SELECT TIMESTAMPDIFF(YEAR, '2000-12-12', '2023-12-12') AS YEAR_DIFF;


-- 两个日期月数差

SELECT TIMESTAMPDIFF(MONTH, '2022-12-12', '2023-12-12') AS YEAR_DIFF;


-- 两个日期天数差

SELECT DATEDIFF('2023-12-12', '2022-12-12') AS DAY_DIFF;


-- 两个日期小时数差

SELECT TIMESTAMPDIFF(HOUR, '2023-12-12 00:00:00', '2023-12-12 06:00:00') AS HOUR_DIFF;


-- 两个日期小时数差

SELECT TIMESTAMPDIFF(HOUR,STR_TO_DATE('2023-12-12 00:00:00','%Y-%m-%d %H:%i:%s'), STR_TO_DATE('2023-12-12 06:00:00','%Y-%m-%d %H:%i:%s'));


-- 加一年

SELECT DATE_ADD('2023-12-12 00:00:00', INTERVAL 1 YEAR) AS ADDED_DATE;


-- 加一月

SELECT DATE_ADD('2023-11-12 00:00:00', INTERVAL 1 MONTH) AS ADDED_DATE;


-- 加一天

SELECT DATE_ADD('2023-12-12 00:00:00', INTERVAL 1 DAY) AS ADDED_DATE;


-- 加一小时

SELECT DATE_ADD('2023-12-12 00:00:00', INTERVAL 1 HOUR) AS ADDED_DATE;


-- 加一分钟

SELECT DATE_ADD('2023-12-12 00:00:00', INTERVAL 1 MINUTE) AS ADDED_DATE;


-- 加一秒

SELECT DATE_ADD('2023-12-12 00:00:00', INTERVAL 1 SECOND) AS ADDED_DATE;

PGSQL

-- `age`函数返回的是两个日期之间的时间间隔,以年、月、日的形式表示。当计算两个日期之间的月数差值时,PGSQL会将年份差值乘以12,并加上月份差值。
-- 年数差
SELECT EXTRACT(YEAR FROM AGE('2023-12-12', '2000-12-12')) AS YEAR_DIFF;
-- 月数差
SELECT (EXTRACT(YEAR FROM age('2023-12-12', '2023-02-12')) * 12) + EXTRACT(MONTH FROM age('2023-12-12', '2023-02-12')) AS TOTAL_MONTH_DIFF;
-- 天数差
SELECT (EXTRACT(YEAR FROM age('2023-12-12', '2022-12-10')) * 365) + EXTRACT(DAY FROM age('2023-12-12', '2022-12-10')) AS TOTAL_DAY_DIFF;
-- 使用`CEIL`函数向上取整,使用`FLOOR`函数向下取整。
-- `EXTRACT(EPOCH FROM ...)`将时间间隔转换为秒数,然后除以86400(一天的秒数)
-- 天数差 不满一天算一天 不满一天的部分会向上取整。例如,如果时间间隔是23小时,则会被计算为2天。
SELECT CEIL(EXTRACT(EPOCH FROM age('2023-12-11 12:00:00', '2023-12-10 10:30:00')) / 86400) AS TOTAL_DAY_DIFF;
-- 天数差 不满一天的部分会被舍去
SELECT FLOOR(EXTRACT(EPOCH FROM age('2023-12-12 00:00:00', '2023-12-10 01:00:00')) / 86400) AS TOTAL_DAY_DIFF;
-- 小时差
SELECT (EXTRACT(DAY FROM AGE('2023-12-13 23:00:00', '2023-12-12 00:00:00')) * 24) + EXTRACT(HOUR FROM AGE('2023-12-13 23:00:00', '2023-12-12 00:00:00')) AS TOTAL_HOUR_DIFF;
-- 小时差  算上分钟秒数的话,可以用`CEIL`函数向上取整,`FLOOR`函数向下取整。
SELECT EXTRACT(EPOCH FROM age('2023-12-13 23:00:00', '2023-12-12 01:00:00')) / 3600 AS TOTAL_HOUR_DIFF;
-- 加一年
SELECT NOW() + INTERVAL '1 YEAR' AS ADDED_DATE;
-- 加一月
SELECT NOW() + INTERVAL '1 MONTH' AS ADDED_DATE;
-- 加一天
SELECT NOW() + INTERVAL '1 DAY' AS ADDED_DATE;
-- 加一小时
SELECT NOW() + INTERVAL '1 HOUR' AS ADDED_DATE;
-- 加一分钟
SELECT NOW() + INTERVAL '1 MINUTE' AS ADDED_DATE;
-- 加一秒
SELECT NOW() + INTERVAL '1 SECOND' AS ADDED_DATE;

oracle

--两个日期年数差
SELECT TRUNC(MONTHS_BETWEEN(TO_DATE('2023-09-01', 'YYYY-MM-DD'),TO_DATE('2000-01-01', 'YYYY-MM-DD')) / 12) AS year_diffFROM DUAL;--两个日期月数差
SELECT MONTHS_BETWEEN(TO_DATE('2023-08-08', 'YYYY-MM-DD'),TO_DATE('2023-07-08', 'YYYY-MM-DD')) AS MONTHS_BETWEENFROM DUAL;--两个日期天数差
SELECT CEIL(TO_DATE('2023-08-08 00:00:00', 'YYYY-MM-DD HH24-MI-SS') -TO_DATE('2023-07-08 00:00:00', 'YYYY-MM-DD HH24-MI-SS')) AS CEILFROM DUAL;--两个日期小时差
SELECT ROUND((TO_DATE('2023-08-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS') -TO_DATE('2023-07-08 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) * 24) AS HOUR_DIFFFROM DUAL;--加1年
SELECT SYSDATE, ADD_MONTHS(SYSDATE, 12) FROM DUAL;--加1月
SELECT SYSDATE, ADD_MONTHS(SYSDATE, 1) FROM DUAL;--加1天
SELECT SYSDATE, TO_CHAR(SYSDATE + 1, 'YYYY-MM-DD HH24:MI:SS') FROM DUAL;--加1小时
SELECT SYSDATE, TO_CHAR(SYSDATE + 1 / 24, 'YYYY-MM-DD HH24:MI:SS')FROM DUAL;--加1分钟
SELECT SYSDATE, TO_CHAR(SYSDATE + 1 / 24 / 60, 'YYYY-MM-DD HH24:MI:SS')FROM DUAL;--加1秒
SELECT SYSDATE,TO_CHAR(SYSDATE + 1 / 24 / 60 / 60, 'YYYY-MM-DD HH24:MI:SS')FROM DUAL;
-- BETWEEN ....  AND 或 NOT BETWEEN ....  AND
SELECT T.* FROM YOUR_TABLE T WHERE T.CREATED_DATE BETWEEN TO_DATE('2023-12-14','YYYY-MM-DD') AND SYSDATE ORDER BY T.CREATED_DATE DESC;SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;  --格式化/显示当前时间SELECT TRUNC(SYSDATE,'YEAR') FROM DUAL; --截取到年(本年的第一天)SELECT TRUNC(SYSDATE,'Q') FROM DUAL; --截取到季度(本季度的第一天)SELECT TRUNC(SYSDATE,'MONTH') FROM DUAL; --截取到月(本月的第一天)SELECT TRUNC(SYSDATE,'') FROM DUAL; --为空SELECT TRUNC(SYSDATE) FROM DUAL; --截取到日SELECT TRUNC(SYSDATE,'DD') FROM DUAL; --截取到日SELECT TRUNC(SYSDATE,'DAY') FROM DUAL; --截取到周(本周第一天,即上周日)SELECT TRUNC(SYSDATE,'IW') FROM DUAL; --本周第2天,即本周一SELECT TRUNC(SYSDATE,'HH24') FROM DUAL;  --截取到小时(当前小时,零分零秒)SELECT TRUNC(SYSDATE,'MI') FROM DUAL; --截取到分(当前分,零秒)SELECT TRUNC(SYSDATE,'SS') FROM DUAL ;--报错,没有精确到秒的格式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/231780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美颜SDK技术对比,深入了解视频美颜SDK的工作机制

如何在实时视频中呈现更加自然、美丽的画面,而这正是美颜SDK技术发挥作用的领域之一。本文将对几种主流视频美颜SDK进行深入比较,以揭示它们的工作机制及各自的优劣之处。 随着科技的不断进步,美颜技术已经从简单的图片处理发展到了视频领域…

Pandas中级教程——数据合并与连接

Python Pandas 中级教程:数据合并与连接 Pandas 是一款强大的数据处理库,提供了丰富的功能来处理和分析数据。在实际数据分析中,我们常常需要将不同数据源的信息整合在一起。本篇博客将深入介绍 Pandas 中的数据合并与连接技术,帮…

AI绘画室内设计提示词大全(持续更新)

当你开始使用AI绘画进行室内设计(interior design)时,选择合适的提示词和关键概念对于成功构思和实现你的设计理念至关重要。以下是一些关于室内设计的提示词,涵盖了空间类型、设计风格、光线效果、布局规划、材料类型以及其他要求…

硬件基础-电容

电容 本质:电容两端电压不能激变,所以可以起到稳定电压作用。充放电。 电容量的大小: 想使电容容量大:①使用介电常数高的介质 ②增大极板间的面积 ③减小极板间的距离。 品牌 国外:村田 muRata、松下 PANASONIC、三星 SAMSUNG、太诱 TAI…

sql_lab靶场搭建以及存在的一些问题

sql_lab靶场搭建问题 首先检查小皮版本 把小皮改到5.3.29版本如果没有可以直接点击更多版本进行选择安装 当版本不对时则会暴出这种错误 SETTING UP THE DATABASE SCHEMA AND POPULATING DATA IN TABLES: Fatal error: Uncaught Error: Call to undefined function mysql_co…

React面试题:Component,Element,Instance之间有什么区别和联系?

回答思路:分别是什么-->不同点-->相同点 Component(组件):一个组件可以通过多种方式声明,可以是带一个render()方法的类,也可以是一个函数,这两种情况下&#xff…

【QT】QTreeWidget控件的使用

目录 1.概述 2.QTreeWidget控件功能接口 2.1 构造函数 2.2 添加和访问顶级条目 2.3 条目访问函数 2.4 当前条目的操作 2.5 条目查找和排序 2.6 条目显示和运行时条目编辑 2.7 信号 2.8 槽函数 2.9 基类 QTreeView 的函数 2.10 树头条目 2.11选中行为和选中模式 3…

2018年第七届数学建模国际赛小美赛A题空中加油飞行计划解题全过程文档及程序

2018年第七届数学建模国际赛小美赛 A题 空中加油飞行计划 原题再现: 太平洋中部一个小岛上的居民被自然灾害困住。救援人员需要派遣一架轻型飞机运送少量急救药品到岛上,并运送一名重伤者到医疗基地求救。岛上有一个无人值守的简易机场,可以…

50ms时延工业相机

华睿工业相机A3504CG000 参数配置: 相机端到端理论时延:80ms 厂家同步信息,此款设备帧率上线23fps,单帧时延:43.48ms,按照一图缓存加上传输显示的话,厂家预估时延在:80ms 厂家还有…

基于Docker Compose的容器编排技术

1.1 介绍一下 Docker 建议我们每⼀个容器中只运⾏⼀个服务,因为 Docker 容器本身占⽤资源极少,所以最好是 将每个服务单独的分割开来但是这样我们⼜⾯临了⼀个问题? 如果我需要同时部署好多个服务,难道要每个服务单独写 Dockerf…

深入了解Linux信号:作用、产生、捕捉和阻塞

这里写目录标题 引言1. 信号的基本概念1.1 信号的分类和编号:1.2 查看信号默认处理动作1.3 信号的作用1.4 信号的产生 2. 常见信号及其作用示例 3. 信号捕捉和处理3.1 信号捕捉函数3.2 sigaction 函数示例 4. 信号阻塞示例 结语 引言 Linux操作系统中,信…

EM(Expectation-Maximum)算法

EM算法 简介 EM算法的核心分为两步 E步(Expection-Step)M步(Maximization-Step) 因为在最大化过程中存在两个参量 r , θ r,\theta r,θ,其中若知道 r r r,则知道 θ \theta θ;若知道 θ \…

mybatis一级缓存二级缓存和redis的区别

今天读到关于mybatis一级缓存、二级缓存的知识,然后看了一下mybatis一级缓存、二级缓存的应用场景,当时就感觉和redis很像,于是就查看了一下它们两个的区别。 Redis 和 MyBatis 一级缓存二级缓存的主要区别在于缓存的数据结构和存储方式上。…

机器学习之线性回归(Linear Regression)

概念 线性回归(Linear Regression)是机器学习中的一种基本的监督学习算法,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。它假设输入变量与输出变量之间存在线性关系,并试图找到最佳拟合线来描述这种关系。 在简单线性回归中,只涉及两个变量:一个是自变量…

java常用正则表达式验证方法

1、正则表达式来验证验证11位数字格式的中国大陆电话号码 public boolean validatePhoneNumber(String phoneNumber) {String regex "^1[3-9]\\d{9}$";return phoneNumber.matches(regex); }正则表达式“^1[3-9]\d{9}”用于匹配11位数字格式的中国大陆电话号码。其…

Go环境安装

目录 下载地址 安装 macos环境 window及其他环境 GOPROXY 非常重要 Go开发编辑器 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ 选择要下载的系统版本: 安装 注意…

Github 2023-12-19开源项目日报 Top10

根据Github Trendings的统计,今日(2023-12-19统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4Rust项目2非开发语言项目2C#项目1TypeScript项目1 Avalonia: 跨平台UI框架和Avalonia XPF 创建周…

弹幕情感分析可视化

弹幕情感分析可视化 引言1. 弹幕数据爬取2. 弹幕数据处理3. 弹幕数据可视化4. 弹幕情感分析5. 创新点:弹幕情感倾向分布 引言 当今互联网时代,大量的弹幕数据蕴含着丰富的信息,通过对这些数据进行分析和可视化,我们能够深入了解用…

端口占用命令 netstat (centos)+netstat (windows)

linux 1.使用 netstat 命令查看端口占用情况 netstat -tlnp 使用 -p 选项查看进程信息。 使用 -t 选项列出 TCP 协议的连接:类似(使用 -u 选项列出 UDP 协议的连接:) 2.查找占用指定端口号的应用信息 netstat -tlnp | grep 3…

输电线路定位:精确导航,确保电力传输安全

在现代社会中,电力作为生活的基石,其安全稳定运行至关重要。而输电线路作为电力传输的重要通道,其故障定位和修复显得尤为重要。恒峰智慧科技将为您介绍一种采用分布式行波测量技术的输电线路定位方法,以提高故障定位精度&#xf…