Oracle数据库日期格式转换操作

1. 日期转化为字符串 (以2016年10月20日为例)

select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘)  strDateTime from dual;    --获取年-月-日 时:分:秒   
--显示结果为:2016-10-20 12:35:21

select to_char(sysdate,‘yyyymmdd hh24:mi:ss‘)  strDateTime from dual;    --获取年月日 时:分:秒  
--显示结果为:20161020 13:39:25

select to_char(sysdate,‘yyyymmdd‘)  strDateTime from dual;     --获取年月日 
--显示结果为:20161020

select to_char(sysdate,‘yyyy‘)  strYear from dual;    --获取年  
 --显示结果为:2016

select to_char(sysdate,‘mm‘)   strMonth  from dual;    --获取月  
--显示结果为:10

select to_char(sysdate,‘dd‘)    strDay    from dual;     --获取日  
--显示结果为:20

select to_char(sysdate,‘hh24‘)   strHour   from dual;     --获取时 
--显示结果为:13

select to_char(sysdate,‘mi‘)  strMinute from dual;   --获取分  
--显示结果为:46

select to_char(sysdate,‘ss‘)  strSecond from dual;   --获取秒
--显示结果为:43

2. 字符串和时间互转

select to_date(‘2010-10-20 13:23:44‘,‘yyyy-mm-dd hh24:mi:ss‘) dateTime from dual;
显示结果:2010/10/20 13:23:44

select to_date(‘2010-10-20 13:23:44‘,‘yyyy/mm/dd hh24:mi:ss‘) dateTime from dual;

显示结果:2010/10/20 13:23:44

select to_char( to_date(222,‘J‘),‘Jsp‘) from dual;

显示结果:Two Hundred Twenty-Two

如果按照下面的例子写,会报错:ORA-01849:小时值必须介于1和12之间。(因为其中的hh是12进制,没有13所以报错)

select to_date(‘2005-12-25,13:25:59‘,‘yyyy-mm-dd,hh:mi:ss‘) from dual;

3. 查询某天是星期几

select to_char(to_date(‘2012-10-20‘,‘yyyy-mm-dd‘),‘day‘) strDay from dual; 
显示结果:星期六
     
select to_char(to_date(‘2012-10-20‘,‘yyyy-mm-dd‘),‘day‘,‘NLS_DATE_LANGUAGE = English‘) strDay from dual;   
显示结果:saturday

4. 两个日期间的天数

select floor(sysdate - to_date(‘20161010‘,‘yyyymmdd‘)) strTime from dual;

--其中sysdate=2016/10/20 17:10:51
--显示结果:10

5. 时间为null的用法

select to_date(null) from dual;

6.月份差

select  months_between(date‘2014-04-23‘,date‘2013-04-23‘) days from dual;

原文地址:https://www.cnblogs.com/AlanLee/p/9021134.html

时间: 2024-10-10 23:28:45

Oracle数据库日期格式转换操作的相关文章

SQL语句优化系列四(Oracle数据库日期格式转换)

Oracle数据库日期格式转换 select sysdate from dual select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') as mydate from dual select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as mydate from dual select to_number(to_char(sysdate,'yyyymmddhh24miss')) as mydate from dual

oracle的日期格式转换

CREATE OR REPLACE FUNCTION F_IRT_DATE_YYYYMMDD(ENTER VARCHAR2) /**** *生效日期的格式为YYYYMMDD,输入日期格式为:16-JUL-15( 日期-月份-年) *例如:20151231 * *****/RETURN VARCHAR2 IS NIENDATE DATE; NUM VARCHAR2(3); INPUT_CHAR VARCHAR2(32) := ENTER;BEGIN/*JAN-01FEB-02MAR-03APR-0

测试数据库日期格式转换

DROP TABLE test; CREATE  TABLE TEST  (    C VARCHAR2(20)  ); INSERT INTO  TEST VALUES  (    '4月28日'  ); INSERT INTO  TEST VALUES  (    '4月2日'  ); INSERT INTO  TEST VALUES  (    '12月28日'  ); INSERT INTO  TEST VALUES  (    '12月2日'  ); COMMIT; SELECT C

Oracle日期格式转换,tochar(),todate()

Oracle日期格式转换 本文主要介绍Oracle中的日期转换. 1. 日期转化为字符串 (以2016年10月20日为例) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')  strDateTime from dual;    --获取年-月-日 时:分:秒   --显示结果为:2016-10-20 12:35:21 select to_char(sysdate,'yyyymmdd hh24:mi:ss')  strDateTime from dua

【Oracle】Oracle时间日期格式

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

ABAP - 日期格式转换 & ABAP常用日期处理函数

ABAP - 日期格式转换 现在提供以下一些日期格式转换的函数: Below are several FMs which can be used to convert date format. 1. CONVERSION_EXIT_IDATE_OUTPUT INPUT:      20080203 OUTPUT:   03FEB2008 2. CONVERT_DATE_TO_EXTERNAL INPUT:      20080203 OUTPUT:   02/03/2008    "Accord

ABAP - 日期格式转换 & ABAP经常使用日期处理函数

ABAP - 日期格式转换 如今提供下面一些日期格式转换的函数: Below are several FMs which can be used to convert date format. 1. CONVERSION_EXIT_IDATE_OUTPUT INPUT:      20080203 OUTPUT:   03FEB2008 2. CONVERT_DATE_TO_EXTERNAL INPUT:      20080203 OUTPUT:   02/03/2008    "Accord

SpringMVC与MyBatis整合之日期格式转换

在上一篇博客<SpringMVC与MyBatis整合(一)——查询人员列表>中遗留了日期格式转换的问题,在这篇记录解决过程. 对于controller形参中pojo对象,如果属性中有日期类型,需要自定义参数绑定.         将请求日期数据串传成 日期类型,要转换的日期类型和pojo中日期属性的类型保持一致. 在上一篇的示例程序中,Person类属性如下: 而测试结果如下: 所以自定义参数绑定将日期串转成java.util.Date类型.需要向处理器适配器中注入自定义的参数绑定组件. 添加

Json 的日期格式转换成DateTime

JSON 的日期形式:"/Date(1242357713797+0800)/" , 下面我们就用以下C#的方法将他转换成DateTime类型: /// <summary> /// Json 的日期格式与.Net DateTime类型的转换/// </summary> /// <param name="jsonDate">Json 的日期,例如:/Date(928120800000+0800)/</param> ///