服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - Oracle如何在SQL语句中对时间操作、运算

Oracle如何在SQL语句中对时间操作、运算

2022-11-13 16:20灵丘丶白给王 Oracle

时间操作运算对大家来说应该都不陌生,这篇文章主要给大家介绍了关于Oracle如何在SQL语句中对时间操作、运算的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

0、date与timestamp

1)区别

date精确到年月日时分秒,timestamp更精确一些;

但这个不重要,重要的是,实践中我从Oracle数据库取date类型字段,前端展示时分秒都是0,网上说数据库类型是date取到前端就是这样,只能精确到日,后面都是默认填0;
我给字段换成timestamp确实问题解决了,我理解不了!

2)转换

timeStamp --> date

?
1
TO_DATE(to_char(xxxTimestamp, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')

date -->timeStamp

?
1
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里获取一个时间的年、季、月、周、日的函数:

?
1
2
3
4
5
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分钟的时间

?
1
select sysdate - interval ‘7' MINUTE from dual;

当前时间减去7小时的时间

?
1
select sysdate - interval ‘7' hour from dual;

当前时间减去7天的时间

?
1
select sysdate - interval ‘7' day from dual;

当前时间减去7月的时间

?
1
select sysdate - interval ‘7' month from dual;

当前时间减去7年的时间

?
1
select sysdate - interval ‘7' year from dual;

时间间隔乘以一个数字

?
1
select sysdate - 8*interval ‘7' hour from dual;

4、常用的时间戳

?
1
2
3
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格式

?
1
SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)) + 1,‘yyyy-mm-dd HH24:mi:ss') FROM DUAL;

5、查询某时间范围

?
1
2
3
4
SELECT users.*
FROM   users
WHERE  create_time >= '2021-12-01 00:00:00'
AND  create_time <= '2021-12-06 00:00:00'

或者

?
1
2
3
4
SELECT users.*
FROM   users
WHERE  create_time
BETWEEN '2021-12-01' AND '2021-12-07';

总结

到此这篇关于Oracle如何在SQL语句中对时间操作、运算的文章就介绍到这了,更多相关Oracle对时间操作运算内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/Derek7117/article/details/122435000

延伸 · 阅读

精彩推荐
  • Oracle在Oracle网络结构解决连接问题

    在Oracle网络结构解决连接问题

    在Oracle网络结构解决连接问题。最近看到好多人说到tns或者数据库不能登录等问题,就索性总结了下面的文档。...

    Oracle教程网3252019-10-22
  • Oracleoracle 下WITH CHECK OPTION用法

    oracle 下WITH CHECK OPTION用法

    如果视图定义包括条件(譬如WHERE子句)并且其意图是确保任何引用该视图的INSERT或UPDATE语句都应用WHERE子句,则必须使用WITHCHECKOPTION定义该视图。这个选项...

    oracle教程网5832019-10-29
  • Oracle[Oracle] dbms_metadata.get_ddl 的使用方法总结

    [Oracle] dbms_metadata.get_ddl 的使用方法总结

    以下是对Oracle中dbms_metadata.get_ddl的用法进行了详细的分析介绍,需要的朋友参考下 ...

    Oracle教程网4022019-11-26
  • OracleOracle数据完整性和锁机制简析

    Oracle数据完整性和锁机制简析

    事务不是程序,事务和程序分属两个概念,事务控制语句称为TCL,一般包括Commit和Rollback,需要了解的朋友可以参考下 ...

    Oracle教程网3202019-11-15
  • Oracleoracle11g卸载完整图文教程

    oracle11g卸载完整图文教程

    这篇文章主要为大家详细介绍了oracle11g卸载完整图文教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    罗德拉沃尔11662021-11-12
  • Oracleoracle自动统计信息时间的修改过程记录

    oracle自动统计信息时间的修改过程记录

    这篇文章主要给大家介绍了关于oracle自动统计信息时间的修改过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    Rhys-Oracle11462022-09-01
  • Oracleoracle查询语句大全(oracle 基本命令大全一)

    oracle查询语句大全(oracle 基本命令大全一)

    这篇文章主要介绍了oracle查询语句,有助于新手迅速熟悉ORACLE基本语法有助于新手迅速熟悉ORACLE基本语法,需要的朋友可以收藏下 ...

    oracle教程网10822019-11-29
  • Oracle解决线上Oracle连接耗时过长的问题现象

    解决线上Oracle连接耗时过长的问题现象

    这篇文章主要介绍了记一次线上Oracle连接耗时过长的问题,本文通过问题定位分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需...

    codest9902022-01-17