zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

OracleSQL 如何 操作 时间 语句 运算
2023-06-13 09:19:57 时间

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


我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Oracle如何在SQL语句中对时间操作、运算