时间操作运算对大家来说应该都不陌生,这篇文章主要给大家介绍了关于Oracle如何在SQL语句中对时间操作、运算的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
0、date与timestamp
1)区别
date精确到年月日时分秒,timestamp更精确一些;
但这个不重要,重要的是,实践中我从Oracle数据库取date类型字段,前端展示时分秒都是0,网上说数据库类型是date取到前端就是这样,只能精确到日,后面都是默认填0;
我给字段换成timestamp确实问题解决了,我理解不了!
2)转换
timeStamp --> date
TO_DATE(to_char(xxxTimestamp, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')
date -->timeStamp
TO_TIMESTAMP(to_char(xxxDate, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')
1、获取系统当前时间
date类型的:
sysdate
timestamp类型的:
SYSTIMESTAMP
char类型的:
to_char(sysdate, ‘yyyy-mm-dd hh24:mi:ss’)
2、ORACLE里获取一个时间的年、季、月、周、日的函数:
select to_char(sysdate, ‘yyyy' ) from dual; --年
select to_char(sysdate, ‘MM' ) from dual; --月
select to_char(sysdate, ‘dd' ) from dual; --日
select to_char(sysdate, ‘Q') from dual; --季
select to_char(sysdate, ‘iw') from dual; --周–按日历上的那种,每年有52或者53周
3、日期操作
当前时间减去7分钟的时间
select sysdate - interval ‘7' MINUTE from dual;
当前时间减去7小时的时间
select sysdate - interval ‘7' hour from dual;
当前时间减去7天的时间
select sysdate - interval ‘7' day from dual;
当前时间减去7月的时间
select sysdate - interval ‘7' month from dual;
当前时间减去7年的时间
select sysdate - interval ‘7' year from dual;
时间间隔乘以一个数字
select sysdate - 8*interval ‘7' hour from dual;
4、常用的时间戳
//获取当年的一月一号
to_date(concat((select to_char(sysdate,‘yyyy') from dual), ‘-01-01 00:00:00'),‘yyyy-MM-dd HH24:mi:ss') //date格式
//获取这个月的一月一号
SELECT LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1 FROM DUAL; //date格式
char格式
SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1,‘yyyy-mm-dd HH24:mi:ss') FROM DUAL;
5、查询某时间范围
SELECT users.*
FROM users
WHERE create_time >= '2021-12-01 00:00:00'
AND create_time <= '2021-12-06 00:00:00'
或者
SELECT users.*
FROM users
WHERE create_time
BETWEEN '2021-12-01' AND '2021-12-07';
总结
到此这篇关于Oracle如何在SQL语句中对时间操作、运算的文章就介绍到这了,更多相关Oracle对时间操作运算内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Oracle如何在SQL语句中对时间操作、运算


基础教程推荐
- Windows10系统中Oracle完全卸载正确步骤 2023-07-24
- Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法 2023-07-27
- Python安装第三方库的方法(pip/conda、easy_install、setup.py) 2023-07-28
- redis乐观锁与悲观锁的实战 2023-07-13
- oracle数据库排序后如何获取第一条数据 2023-07-24
- Java程序员从笨鸟到菜鸟(五十三) 分布式之 Redis 2023-09-11
- SQL Server如何设置用户只能访问特定数据库和访问特定表或视图 2023-07-29
- Mariadb数据库主从复制同步配置过程实例 2023-07-25
- redis 数据库 2023-09-13
- oracle19c卸载教程的超详细教程 2023-07-23