Oracle 时间和日期处理

-- Oracle时间
SELECT SYSDATE FROM  dual;  -- 系统时间
SELECT SYSTIMESTAMP FROM  dual;  -- 当前系统时间戳
SELECT CURRENT_TIMESTAMP FROM  dual;  -- 与时区设置有关,返回的秒是系统的,返回的日期和时间是根据时区转换过的
SELECT current_date FROM  dual;  -- 是对CURRENT_TIMESTAMP准确到秒的四舍五入
select SYSDATE ,systimestamp,current_date,current_timestamp from dual;

-- 时间差计算
DECLARE
START_DATE DATE;
END_DATE DATE;
BEGIN
  START_DATE := SYSDATE - 1 ;
  END_DATE := SYSDATE  ;
  dbms_output.put_line(‘相差天数 :‘ || ROUND(TO_NUMBER(END_DATE - START_DATE)));
  dbms_output.put_line(‘相差小时数 :‘ || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24));
  dbms_output.put_line(‘相差分钟数 :‘ || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60));
  dbms_output.put_line(‘相差秒数 :‘ || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60));
  dbms_output.put_line(‘相差毫秒数 :‘ || ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000));
END;

-- 字符串转时间类型
SELECT to_date(‘2018-08-23 00:00:00‘,‘yyyy-mm-dd hh24:mi:ss‘) FROM dual;

-- 时间类型转字符串
select to_char(sysdate,‘yyyy-mm-dd hh24::mi:ss‘) from dual;
select to_char(sysdate,‘yyyy-mm-dd‘) from dual;

-- 时间日期加减
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,‘yyyy-mm-dd HH24:MI:SS‘) 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; --加1秒
--------------------------------------------------------------------------------------
select sysdate,add_months(sysdate,-12) from dual; --减1年
select sysdate,add_months(sysdate,-1) from dual; --减1月
select sysdate,to_char(sysdate-7,‘yyyy-mm-dd HH24:MI:SS‘) 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; --减1秒

原文地址:https://www.cnblogs.com/fubinhnust/p/9925720.html

时间: 2024-08-29 17:25:15

Oracle 时间和日期处理的相关文章

Oracle 时间,日期 类型函数及参数详解

ORACLE字符数字日期之间转化 Java代码 24 小时的形式显示出来要用 HH24 select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual; select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual; to_date() function 1. 日期格式参数 含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到 9 个字符 DD 月中的第

Oracle时间日期函数

ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02   13:45:25为例)           Year:              yy two digits 两位年                显示值:07        yyy three digits 三位年                显示值:007        yyyy four digits 四位年                显示值:2007                    Month

【Oracle】Oracle时间日期格式

to_date("要转换的字符串","转换的格式")   两个参数的格式必须匹配,否则会报错. 即按照第二个参数的格式解释第一个参数. to_char(日期,"转换格式" ) 即把给定的日期按照"转换格式"转换. 转换的格式: 表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年 表示month的:mm 用2位数字表示月:mon 用简写形式 比如11月或者nov :m

ORACLE函数之日期时间转换函数

 1.          TO_CHAR 语法:TO_CHAR(X [,format]) 说明:将X按format格式转换成字符串.X是一个日期或者数字,format是一个规定了X采用何种格式转换的格式字符串 举例: SQL>SELECT TO_CHAR(sysdate,'YYYY-MM-DD hh24:mi:ss') A FROM DUAL; A ------------------- 2014-06-1815:58:43 2.            TO_DATE 语法:TO_DATE(

oracle 时间函数

加法 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) from dual; --加1月 select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期 select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from

oracle时间数据格式的分析

在网上看见不少oracle新学者对oracle的时间格式很烦,经常是设计了一个带时间字段的表之后,向表插入数据失败.回想起自己刚开始学习oracle时,也对这个时间格式摸不着头脑,虽然是小小的问题,高手们不屑于讨论,但对初学者来讲,这也是一个不大不小的坎,没找到门路的话, 可能几天都过不去,其实就是一层窗户纸,没什么难的.这里做一个简单的小结,因水平有限,请高手补充指正. 1 oracle对时间格式的数据存贮 oracle数据库中存放时间格式的数据,是以oracle特定的格式存贮的,占7个字节,

oracle时间处理

--查询日期语言种类 select * from V$NLS_PARAMETERS; select * fromnls_session_parameters --TO_DATE(null)的用法(插入null字段??) select 1, TO_DATE(null) from dual; --实际时间2012-12-04 18:22  测试结果如下: --24小时显示方式---需用  HH24:mi:ss这个形式 select to_char(sysdate,'yyyy-MM-dd HH24:m

在jqueryEasyUI界面将时间以日期加时分秒的格式显示

问题描述: oracle 10G中用户表有一个字段是日期型,数据格式为yyyy-MM-dd HH:mm:ss,前端显示时只能显示成yyyy-MM-dd 后面的 HH:mm:ss不显示. 经过一番痛苦的原因分析,发现应该将用户实体的日期类型由java.sql.Date修改成java.util.Date型,并且对 jackson进行如下处理: private void Test(MyUser user) { ObjectMapper mapper = new ObjectMapper(); Writ

oracle 字符串与日期转换sql

常用sql语句: select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual;   //显示:08-11-07 13:22:42 select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual; //显示:2005-12-25 13:25:59 获取系统时间: select sysdate from dual; 转换的格式: 表示year的:y  表示年的最后一位