oracle

推荐列表 站点导航

当前位置:首页 > 数据库 > oracle >

oracle中to_date详细用法示例(oracle日期格式转换)

来源:网络整理  作者:网络  发布时间:2020-12-08 23:41
这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法、字符串和时间互转、求某天是星期几、两...
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;     //星期一    
select to_char( to_date(222,'J'),'Jsp') from dual //显示Two Hundred Twenty-Two   

6.月份差


select * from V$NLS_PARAMETERS   
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;
select to_char(sysdate,'yyyy')  as nowYear   from dual;   //获取时间的年 
   from all_objects    

复制代码 代码如下:

//注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,可查看    
select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分 
Next_day(date, day)    
//extract()找出日期或间隔值的字段值

select to_char(to_date('2002-08-26','yyyy-mm-dd'),

复制代码 代码如下:

select sysdate ,to_char(sysdate,'hh') from dual;    

11.获得小时数
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';    
1-7, for format code D   

8.查询特殊条件天数


复制代码 代码如下:


from ( select rownum-1 rnum    
select months_between(to_date('02-01-1999','MM-DD-YYYY'),


   'day','NLS_DATE_LANGUAGE = American') from dual;    
-------------------- -----------------------    

复制代码 代码如下:

Mon-Sun, for format code DY    

3.求某天是星期几

2. 字符串和时间互转


TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')

复制代码 代码如下:

//结果为:1    
Monday-Sunday, for format code DAY    
a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')    

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   //日期转化为字符串 

//所以,当时间需要精确的时候,觉得to_char还是必要的


复制代码 代码如下:

5. 时间为null的用法

复制代码 代码如下:

1. 日期和字符转换函数用法(to_date,to_char)


   02-01','yyyy-mm-dd')+1   


4. 两个日期间的天数
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day',
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual


复制代码 代码如下:

UNION    
SYSDATE               TO_CHAR(SYSDATE,'HH24')    

to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;    


//设置日期语言    
select to_char(sysdate,'mm')    as nowMonth  from dual;   //获取时间的月 
输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01'

复制代码 代码如下:

select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日 
//也可以这样    
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer    

alter system set NLS_DATE_LANGUAGE = American    

9. 查找月份
//结果为:1.03225806451613
-------------------- ---------------------    
select to_char(sysdate,'hh24')  as nowHour   from dual;   //获取时间的时 

10. Next_day的用法
select count(*)    
//那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。    
to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;    

复制代码 代码如下:

select 1, TO_DATE(null) from dual;  //注意要用TO_DATE(null)
2003-10-13 19:35:21   07   


7. 日期格式冲突问题
where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )    
//查找2002-02-28至2002-02-01间除星期一和七的天数    

    not in ( '1', '7' )    
  )    
SYSDATE               TO_CHAR(SYSDATE,'HH')    
select sysdate ,to_char(sysdate,'hh24') from dual;    
select id, active_date from table1    
   where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-    

复制代码 代码如下:


alter session set NLS_DATE_LANGUAGE = American    
select months_between(to_date('01-31-1999','MM-DD-YYYY'),
2003-10-13 19:35:21   19  
//或者在to_date中写    

12.年月日的处理

复制代码 代码如下:

select * from nls_session_parameters    
//在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒)

'NLS_DATE_LANGUAGE = American') from dual;   // monday  

select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

相关热词: oracle

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/sql/oracle/1597.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

oracle中to_date详细用法示例(oracle日期格式转换)

2020-12-08 编辑:网络

select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;     //星期一    
select to_char( to_date(222,'J'),'Jsp') from dual //显示Two Hundred Twenty-Two   

6.月份差


select * from V$NLS_PARAMETERS   
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;
select to_char(sysdate,'yyyy')  as nowYear   from dual;   //获取时间的年 
   from all_objects    

复制代码 代码如下:

//注意我这只是举了NLS_DATE_LANGUAGE,当然还有很多,可查看    
select to_char(sysdate,'mi')    as nowMinute from dual;   //获取时间的分 
Next_day(date, day)    
//extract()找出日期或间隔值的字段值

select to_char(to_date('2002-08-26','yyyy-mm-dd'),

复制代码 代码如下:

select sysdate ,to_char(sysdate,'hh') from dual;    

11.获得小时数
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';    
1-7, for format code D   

8.查询特殊条件天数


复制代码 代码如下:


from ( select rownum-1 rnum    
select months_between(to_date('02-01-1999','MM-DD-YYYY'),


   'day','NLS_DATE_LANGUAGE = American') from dual;    
-------------------- -----------------------    

复制代码 代码如下:

Mon-Sun, for format code DY    

3.求某天是星期几

2. 字符串和时间互转


TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')

复制代码 代码如下:

//结果为:1    
Monday-Sunday, for format code DAY    
a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')    

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual;   //日期转化为字符串 

//所以,当时间需要精确的时候,觉得to_char还是必要的


复制代码 代码如下:

5. 时间为null的用法

复制代码 代码如下:

1. 日期和字符转换函数用法(to_date,to_char)


   02-01','yyyy-mm-dd')+1   


4. 两个日期间的天数
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day',
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual


复制代码 代码如下:

UNION    
SYSDATE               TO_CHAR(SYSDATE,'HH24')    

to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;    


//设置日期语言    
select to_char(sysdate,'mm')    as nowMonth  from dual;   //获取时间的月 
输入的格式要看你安装的ORACLE字符集的类型, 比如: US7ASCII, date格式的类型就是: '01-Jan-01'

复制代码 代码如下:

select to_char(sysdate,'dd')    as nowDay    from dual;   //获取时间的日 
//也可以这样    
SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40') from offer    

alter system set NLS_DATE_LANGUAGE = American    

9. 查找月份
//结果为:1.03225806451613
-------------------- ---------------------    
select to_char(sysdate,'hh24')  as nowHour   from dual;   //获取时间的时 

10. Next_day的用法
select count(*)    
//那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。    
to_date('12-31-1998','MM-DD-YYYY')) "MONTHS" FROM DUAL;    

复制代码 代码如下:

select 1, TO_DATE(null) from dual;  //注意要用TO_DATE(null)
2003-10-13 19:35:21   07   


7. 日期格式冲突问题
where to_char( to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D' )    
//查找2002-02-28至2002-02-01间除星期一和七的天数    

    not in ( '1', '7' )    
  )    
SYSDATE               TO_CHAR(SYSDATE,'HH')    
select sysdate ,to_char(sysdate,'hh24') from dual;    
select id, active_date from table1    
   where rownum <= to_date('2002-02-28','yyyy-mm-dd') - to_date('2002-    

复制代码 代码如下:


alter session set NLS_DATE_LANGUAGE = American    
select months_between(to_date('01-31-1999','MM-DD-YYYY'),
2003-10-13 19:35:21   19  
//或者在to_date中写    

12.年月日的处理

复制代码 代码如下:

select * from nls_session_parameters    
//在前后分别调用DBMS_UTILITY.GET_TIME, 让后将结果相减(得到的是1/100秒, 而不是毫秒)

'NLS_DATE_LANGUAGE = American') from dual;   // monday  

select to_char(sysdate,'ss')    as nowSecond from dual;   //获取时间的秒

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/sql/oracle/1597.shtml

相关文章

风云图片

推荐阅读

返回oracle频道首页