欢迎投稿

今日深度:

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

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


目录
  • 0、date与timestamp
  • 1、获取系统当前时间
  • 2、ORACLE里获取一个时间的年、季、月、周、日的函数:
  • 3、日期操作
  • 4、常用的时间戳
  • 5、查询某时间范围
  • 总结

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对时间操作运算内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

您可能感兴趣的文章:
  • Oracle计算时间差常用函数
  • oracle 日期时间函数使用总结
  • Oracle如何获取系统当前时间等操作实例
  • oracle统计时间段内每一天的数据(推荐)
  • Oracle关于时间/日期的操作

www.htsjk.Com true http://www.htsjk.com/oracle/45395.html NewsArticle Oracle如何在SQL语句中对时间操作、运算, 目录 0、date与timestamp 1、获取系统当前时间 2、ORACLE里获取一个时间的年、季、月、周、日的函数: 3、日期操作 4、常用的时间戳 5、查询某时间...
评论暂时关闭