关于Oracle日期格式

合集下载

oracle格式化日期

oracle格式化日期

oracle格式化⽇期--环境select *from v$version;SELECT SESSIONTIMEZONE FROM DUAL;show parameter nls;-- - / , . ; : 指定返回字串分隔符select to_char(sysdate,'yyyy/mm/dd') from dual;select to_char(sysdate,'yyyy:mm:dd') from dual;--AD/A.D. 公元标识select to_char(sysdate,'AD YYYY-MM-DD') from dual;--BC/B.C. 公元标识select to_char(sysdate,'BC YYYY-MM-DD') from dual;--CC/SCC 世纪标识,S前缀指定如遇公元前的显⽰,会在显⽰前加(-)select to_char(to_date('2014-8-3','YYYY-MM-DD'),'cc') from dual;--D 指定⽇期在周中的数值(范围:1-7)select to_char(to_date('2014-03-07','YYYY-MM-DD'),'D') from dual; --6--DAY 指定⽇期在周中的名称select to_char(to_date('2014-03-07','YYYY-MM-DD'),'DAY') from dual; --星期五--DD 指定⽇期在当⽉中的天数(范围:1-31)select to_char(to_date('2014-03-07','yyyy-mm-dd'),'DD') from dual; --07--DDD 指定⽇期在当年中的天数(范围:1-366)select to_char(to_date('2014-03-07','yyyy-mm-dd'),'DDD') from dual; --066--MON 返回指定⽇期的⽉份简写select to_char(sysdate,'MON') from dual;--MONTH 返回指定⽇期的⽉份全称select to_char(sysdate,'MONTH') from dual;--YEAR/SYEAR 返回字符型年,此处 S前缀指定如遇公元前的显⽰,会在显⽰前加(-) select to_char(sysdate,'YEAR') from dual; --TWENTY FOURTEENselect to_char(sysdate,'SYEAR') from dual;--YYYY/SYYYY 返回数字型年,此处S前缀指定如遇公元前的显⽰,会在显⽰前加(-) select to_char(sysdate,'YYYY') from dual;select to_char(sysdate,'SYYYY') from dual;--MM 返回指定⽇期的⽉份(范围:1-12)select to_char(sysdate,'MM') from dual;--HH/HH12 ⼩时(范围:1-12)select to_char(sysdate,'HH') from dual;select to_char(sysdate,'AMHH') from dual;select to_char(sysdate,'HH12') from dual;select to_char(sysdate,'AMHH12') from dual; --下午05--HH24 ⼩时(范围:0-23)select to_char(sysdate,'HH24') from dual;select to_char(sysdate,'AMHH24') from dual; --下午17--MI 返回指定时间的分钟(范围0-59)select to_char(sysdate,'MI') from dual;-- SS 返回指定时间的秒数(范围:0-59)select to_char(sysdate,'SS') from dual;--FF[1-9] 返回毫秒数,可指定长度1-9,默认6位select to_char(systimestamp,'ff') from dual;select to_char(systimestamp,'ff4') from dual;--Y,YYY 返回有逗号分隔显⽰的年select to_char(sysdate,'y,yyy') from dual;--W 返回指定⽇期在当⽉中的第X周(范围:1-5)select to_char(to_date('2007-6-18','yyyy-mm-dd'),'w') from dual;select to_char(sysdate,'W') from dual--WW 返回指定⽇期在当年中的第X周(范围:1-53)select to_char(to_date('2007-6-18','yyyy-mm-dd'),'WW') from dual;select to_char(sysdate,'WW') from dual;--RM 以罗马数字形式返回⽉份(范围I-XII)select to_char(sysdate,'RM') from dual;--Q 返回指定⽇期的季度(范围:1-4)select to_char(sysdate,'q') from dual;--数字Select TO_CHAR(1.0123) FROM DUAL ;SELECT TO_CHAR(0.123,'0.0000') FROM DUAL;--FM去除空格Select TO_CHAR(10.12,'FM099.999') FROM DUAL ; --FM 去除空格Select TO_CHAR(10.12,'FM999.999') FROM DUAL ;Select TO_CHAR(123.0233,'FM9999999.0099') FROM DUAL;select to_char(389999.00,'9,999,999') from dual;--$ 字符前附加$符select to_char(18,'$999') from dual;select to_char(18,'999$') from dual;--0 字符头部或尾部附加0select to_char(18.0,'0999') from dual;select to_char(18.0,'9990.0000') from dual;--9 与上类似以指定长度返回数值格式,不过如果被格式化的数值长度短于指定格式,则以空格补⾜。

Oracle日期格式化以及extract函数的使用

Oracle日期格式化以及extract函数的使用

Oracle⽇期格式化以及extract函数的使⽤ 由于业务需要,这两天在学习Oracle,发现Oracle⾥⾯的⽇期它会给你转成⼀种很不习惯的格式,于是想着怎么样把它弄成年、⽉、⽇的格式来显⽰,查资料、看⽂档,最终找到解决办法了,其实是⽤到了to_char⽅法。

例如,在Oracle⾥⾯,⼀个表格⾥⽇期如2017-05-06,列名为time,查询后发现返回的是06-5⽉ -17这种格式的,看着贼不爽,要想把它转成年⽉⽇这种格式的,可以这样做,to_char(time, 'YYYY-MM-DD') as time // 括号⾥的time表⽰表中的列名,第⼆个time则表⽰转换后的⽇期列名仍然为time 现在转换后的⽇期就是这样的,2017-05-06 那么extract函数是⼲什么的呢?extract英语意思是提取、选取,顾名思义,它表⽰从⼀个date类型中截取某⼀特定的部分,例如,选取年或⽉或⽇。

例如有这样⼀个表格: 现在我要从表格myTable中选取time中年份为2018年的所有数据,可以这样做, select title,play,time from myTable where extract(year from time) = 2018;或者:select title,play,to_char(time, 'YYYY-MM-DD') as time from myTable where extract(year from time) = 2018 结果显然是都返回了(这⾥只是做个演⽰) 现在我要从表格myTable中选取time中⽉份为5的所有数据,操作为:select title,play,time from myTable extract(month from time) = 5;或者:select title,play,to_char(time, 'YYYY-MM-DD') as time from myTable where extract(month from time) = 5 从表格myTable中选取time中⽇期为6的所有数据,操作为:select title,play,time from myTable extract(day from time) = 6;或者:slect title,play,to_char(time, 'YYYY-MM-DD') as time from myTable where extract(day from time) = 6; 语法如下:extract(year|month|day|hour|minute|second from column_name) = value。

oracle日期格式

oracle日期格式

oracle⽇期格式to_date("要转换的字符串","转换的格式") 两个参数的格式必须匹配,否则会报错。

即按照第⼆个参数的格式解释第⼀个参数。

to_char(⽇期,"转换格式" ) 即把给定的⽇期按照“转换格式”转换。

转换的格式:表⽰year的:y 表⽰年的最后⼀位 yy 表⽰年的最后2位 yyy 表⽰年的最后3位 yyyy ⽤4位数表⽰年表⽰month的:mm ⽤2位数字表⽰⽉;mon ⽤简写形式⽐如11⽉或者nov ;month ⽤全称⽐如11⽉或者november表⽰day的:dd 表⽰当⽉第⼏天;ddd表⽰当年第⼏天;dy 当周第⼏天简写⽐如星期五或者fri;day当周第⼏天全写⽐如星期五或者friday。

表⽰hour的:hh 2位数表⽰⼩时 12进制; hh24 2位数表⽰⼩时 24⼩时表⽰minute的:mi 2位数表⽰分钟表⽰second的:ss 2位数表⽰秒 60进制表⽰季度的:q ⼀位数表⽰季度(1-4)另外还有ww ⽤来表⽰当年第⼏周 w⽤来表⽰当⽉第⼏周。

24⼩时制下的时间范围:00:00:00-23:59:5912⼩时制下的时间范围:1:00:00-12:59:59⽐如:select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual //显⽰:08-11-07 13:22:42select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual //显⽰:2005-12-25 13:25:59⽽如果把上式写作:select to_date('2005-12-25,13:25:59','yyyy-mm-dd,hh:mi:ss') from dual,则会报错,因为⼩时hh是12进制,13为⾮法输⼊,不能匹配。

OracleSQL日期及日期格式获取命令

OracleSQL日期及日期格式获取命令

OracleSQL⽇期及⽇期格式获取命令⽇期及⽇期格式:获取⽇期:sysdate()格式化⽇期to_char(sysdate(),'yyyy-mm-dd,hh24:mi:ss')to_date(sysdate(),'yyyy-mm-dd,hh24:mi:ss')注:to_char 把⽇期或数字转换为字符串to_char(number, '格式')to_char(salary, '$99,999.99')to_char(date, '格式')to_date 把字符串转换为中的⽇期类型to_date(char, '格式')转换格式:表⽰ year 的:y 表⽰年的最后⼀位yy 表⽰年的最后2位yyy 表⽰年的最后3位yyyy ⽤4位数表⽰年表⽰ month 的:mm ⽤2位数字表⽰⽉mon ⽤简写形式,⽐如11⽉或者novmonth ⽤全称,⽐如11⽉或者november表⽰ day 的:dd 表⽰当⽉第⼏天ddd 表⽰当年第⼏天dy 当周第⼏天,简写,⽐如星期五或者friday 当周第⼏天,全称,⽐如星期五或者friday表⽰ hour 的:hh 2位数表⽰⼩时 12进制hh24 2位数表⽰⼩时 24⼩时表⽰minute的:mi 2位数表⽰分钟表⽰second的:ss 2位数表⽰秒 60进制表⽰季度的:q ⼀位数表⽰季度(1-4)另外还有ww ⽤来表⽰当年第⼏周 w⽤来表⽰当⽉第⼏周。

24⼩时制下的时间范围:00:00:00-23:59:5912⼩时制下的时间范围:1:00:00-12:59:59例⼦:返回系统⽇期: 2018/1/19 22:44:54select sysdate from dual;格式化: 2018-01-19 22:46:59select to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual获取昨天:2018/1/18select trunc(sysdate-1) from dual;获取上个⽉第⼀天:2017/12/1select add_months(trunc(sysdate,'MON'),-1) from dualselect add_months(trunc(sysdate,'MON'),-13) from dual获得本季度第⼀天:2018/1/1select trunc(add_months(sysdate,0),'Q') from dual获得上季度第⼀天:2017/10/1select trunc(add_months(sysdate,-3),'Q') from dual补充当前时间减去7分钟的时间select sysdate,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,sysdate - interval '7'month from dual;当前时间减去7年的时间select sysdate,sysdate - interval '7'year from dual;时间间隔乘以⼀个数字select sysdate,sysdate -8*interval '7' hour from dual;Oracle 常⽤的时间函数Sysdate :当前⽇期和时间SQL>Select sysdate from dual;2018/1/1923:15:20Last_day :本⽉最后⼀天SQL>Select last_day(sysdate) from dual;2018/1/3123:16:24Add_months(d,n) :当前⽇期d后推n个⽉,⽤于从⼀个⽇期值增加或减少⼀些⽉份SQL>Select add_months(sysdate,2) from dual;2018/3/1923:18:29Months_between(f,s) :⽇期f和s间相差⽉数SQL>select months_between(sysdate,to_date('2017-8-1','yyyy-mm-dd'))from dual;5.6120034348865NEXTDAY(d, dayofweek) :返回由"dayofweek"命名的,在变量"d"指定的⽇期之后的第⼀个⼯作⽇的⽇期。

oracle年月日时分秒的格式

oracle年月日时分秒的格式

Oracle年月日时分秒的格式一、概述在数据库系统中,日期和时间的处理是非常重要的一个方面。

Oracle数据库提供了丰富的日期和时间函数,可以满足不同的需求。

其中,日期和时间的格式化是其中的关键操作之一。

在Oracle中,我们可以使用不同的格式来表示年月日时分秒。

本文将详细介绍Oracle中年月日时分秒的格式化方法。

二、日期和时间的数据类型在Oracle数据库中,日期和时间被定义为特殊的数据类型。

主要的数据类型有DATE、TIMESTAMP和TIMESTAMP WITH TIME ZONE等。

这些数据类型可以存储年月日时分秒的信息。

2.1 DATE数据类型DATE数据类型是Oracle中最常用的日期和时间数据类型。

它可以存储从公元前4712年到公元9999年的日期和时间。

DATE数据类型的格式默认为”YYYY-MM-DD HH24:MI:SS”,其中YYYY表示年份,MM表示月份,DD表示日期,HH24表示小时(24小时制),MI表示分钟,SS表示秒钟。

2.2 TIMESTAMP数据类型TIMESTAMP数据类型是Oracle中用于存储日期和时间信息的另一种数据类型。

它可以存储更精确的时间信息,包括毫秒级别的精度。

TIMESTAMP数据类型的格式也是”YYYY-MM-DD HH24:MI:SS.FF”,其中FF表示毫秒。

2.3 TIMESTAMP WITH TIME ZONE数据类型TIMESTAMP WITH TIME ZONE数据类型是一种带有时区信息的日期和时间数据类型。

它可以存储时区偏移量,以便在不同的时区中正确地显示日期和时间。

TIMESTAMP WITH TIME ZONE数据类型的格式与TIMESTAMP数据类型相同。

三、日期和时间的格式化在Oracle数据库中,可以使用不同的函数来格式化日期和时间。

常用的函数有TO_CHAR、TO_DATE和TO_TIMESTAMP等。

3.1 TO_CHAR函数TO_CHAR函数用于将日期和时间数据类型转换为指定的字符串格式。

oracle的todate用法

oracle的todate用法

Oracle的todate用法1. 什么是Oracle的todate函数?在Oracle数据库中,todate是一个非常重要的函数,它用于将日期字符串转换为日期类型。

todate函数接受两个参数:第一个参数是日期字符串,第二个参数是日期格式模式。

2. todate函数的语法todate(date_string, format)•date_string: 一个表示日期的字符串。

•format: 可选参数,指定了日期字符串的格式模式。

3. todate函数支持的格式模式以下是一些常用的日期格式模式:•YYYY-MM-DD: 年-月-日•YYYY/MM/DD: 年/月/日•DD-MM-YYYY: 日-月-年•DD/MM/YYYY: 日/月/年•MM-DD-YYYY: 月-日-年•MM/DD/YYYY: 月/日/年此外,还有其他一些可以使用的格式模式,如:•YY-MM-DD HH24:MI:SS•YY/MM/DD HH24:MI:SS•YY/MM/DD HH12:MI:SS AM4. todate函数示例下面给出一些示例来演示todate函数的使用。

示例1:将字符串转换为日期类型假设我们有一个表格名为employees,其中有一个列名为hire_date。

该列存储了员工入职日期的信息。

现在我们想要将一个日期字符串'2022-01-01'插入到该列中。

INSERT INTO employees (hire_date) VALUES (todate('2022-01-01', 'YYYY-MM-DD'));示例2:将日期字符串转换为特定格式假设我们有一个表格名为orders,其中有一个列名为order_date。

该列存储了订单的下单日期信息。

现在我们想要查询出所有订单的下单日期,并以特定的格式显示。

SELECT to_char(order_date, 'YYYY年MM月DD日') AS formatted_order_dateFROM orders;示例3:将字符串转换为时间戳类型假设我们有一个表格名为logs,其中有一个列名为log_time。

oracle数据库日期,时间使用,删除恢复等

oracle数据库日期,时间使用,删除恢复等

Oracle批量删除表、索引等对象、批量恢复Drop操作删除的表、索引等对象虽然能够恢复表结构和数据,但是索引,主键,约束等,并不能完全恢复。

/**********************************************************************查询Drop操作删除的对象select * from recyclebin ;单个对象(表、索引或是通过drop操作删除的其它对象)恢复flashback table(被删除的对象类型)被删除的对象名称to before drop***********************************************************************/--Demo单张表恢复flashback table Table_XXX to before drop;-- 创建批量恢复表的存储过程create or replace procedure RecoveryOfTable isbegindeclare/*********************************************************************** select 'flashback table '||a.original_name||' to before drop' fromrecyclebin a where a.operation = 'DROP' and a.type='TABLE'恢复其它类型对象请将flashback table 这里换为其它类型,type='相应的类型'可加更多条件限制,具体查询recyclebin***********************************************************************/ cursor cur_flashback is select 'flashback table '||a.original_name||' to before drop' from recyclebin a where a.operation = 'DROP' and a.type='TABLE';v_name varchar2(4000);beginopen cur_flashback;fetch cur_flashback into v_name;while cur_flashback%foundloopexecute immediate v_name;fetch cur_flashback into v_name;end loop;dbms_output.put_line('恢复成功!');close cur_flashback;end;end;--执行存储过程(使用plsql操作时)beginRecoveryOfTable;end;--执行存储过程(使用SQL调用)execute RecoveryOfTable;/**************************************批量删除数据库表select * from user_tables where table_name like 'Table_XXX%';存储过程体**************************************/declarecursor cur_delete is select 'drop table '|| table_name from user_tables where table_name like 'Table_XXX%';/*************************************可模板条件删除其它类型对象如:索引等**************************************/v_name varchar2(4000);beginopen cur_delete;fetch cur_delete into v_name;while cur_delete%found loopexecute immediate v_name;fetch cur_delete into v_name;end loop;dbms_output.put_line('将所有Table_XXX开头的表删除!');close cur_delete;end;执行PURGE TABLE ZYM_USER."BIN$UagqFGZsZcvgQAoKpSB9uQ==$0"--oracle todate函数,to_char 函数--oracle 24小时select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual; --12小时select to_date('2005-01-01 2:14:20','yyyy-MM-dd HH12:mi:ss') from dual;select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;--mi是分钟select to_char(sysdate,'yyyy-MM-dd HH12:mi:ss') from dual;--12小时制--选取一个月前的日期select sysdate,sysdate-interval'1'month from dual;--选取一个年前的日期select sysdate,sysdate-interval'1'year from dual;--选取一天前的日期select sysdate,sysdate-interval'1'day from dual;--选取一小时前的日期select sysdate,sysdate-interval'1'hour from dual;--选取7分钟前的日期select sysdate,sysdate-interval'7'minute from dual;--选取时间间隔乘以一个数字的日期select sysdate,sysdate- 5* interval'1'month from dual;select sysdate,sysdate- 5* interval'1'day from dual;select sysdate,sysdate- 5* interval'1'hour from dual;select sysdate,sysdate- 5* interval'1'minute from dual; select sysdate,sysdate - interval'0'month from dual;--当前日期--oracle 获取guidselect sys_guid() from dual ;以24小时的形式显示出来要用HH24select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份oracle中的to_date参数含义1.日期格式参数含义说明D 一周中的星期几DAY 天的名字,使用空格填充到9个字符DD 月中的第几天DDD 年中的第几天DY 天的简写名IW ISO标准的年中的第几周IYYY ISO标准的四位年份YYYY 四位年份YYY,YY,Y 年份的最后三位,两位,一位HH 小时,按12小时计HH24 小时,按24小时计MI 分SS 秒MM 月Mon 月份的简写Month 月份的全名W 该月的第几个星期WW 年中的第几个星期--日期到字符操作select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual ;--24小时制select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') fromdual ;--18:47会变成 06:47select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from dual ;select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from dual;--trunk/ ROUND函数的使用select trunc(sysdate ,'YEAR') from dual ;--2014/1/1select trunc(sysdate ) from dual ;--2014/9/28select to_char(trunc(sysdate ,'YYYY'),'YYYY') from dual ;--2014--oracle有毫秒级的数据类型--返回当前时间年月日小时分秒毫秒select to_char(current_timestamp(5),'DD-MON-YYYY HH24:MI:SSxFF') from dual; --28-9月 -2014 18:50:35.64801--返回当前时间的秒毫秒,可以指定秒后面的精度(最大=9)select to_char(current_timestamp(9),'MI:SSxFF') fromdual;--50:35.751743000--oracle 计算程序运行的时间(ms)declaretype rc is ref cursor;l_rc rc;l_dummy all_objects.object_name%type;l_start number default dbms_utility.get_time;beginfor I in1 .. 1000loopopen l_rc for'select object_name from all_objects '||'where object_id = ' || i;fetch l_rc into l_dummy;close l_rc;end loop;dbms_output.put_line( round( (dbms_utility.get_time-l_start)/100, 2 ) || ' seconds...' );end;--对表进行重命名,不能指定所有者名,即不能指定表所属的数据库名称,如ytmat.t_biao_rookie_waybill_userename t_mat_rookie_waybill_use to t_biao_rookie_waybill_use6;--查询Drop操作删除的对象select * from recyclebin ;select count(*) from recyclebin ;使用drop 删除表drop table 表名称恢复:--注:必须9i或10g以上版本支持,flashback无法恢复全文索引flashback table表名称to before drop;。

oracle的日期使用

oracle的日期使用

oracle的日期使用这个属于oracle时间函数的用法在oracle里,日期格式是一种特殊的东西这里有一个日期转换函数select to_char(日期,'yyyy-mm-dd hh24:mi:ss') from tablename;这里的to_char就是将日期型转换成字符型的一个函数,转换成的格式就是2010-08-23 17:51:20当然你可以将这个日期转换成其他,如:select to_char(日期,'yyyy-mm-dd') from tablename;查出来的结果2010-08-23所以你要根据这个日期来查东西就可以这么用select * from tablename where to_char(日期,'yyyymmdd')between '20100801' and '20100823'这个就是查日期8月1日到8月23日的数据select * from tablename where to_char(日期,'yyyymmdd') = '20100801'这个就是查8月1日的数据你后边的" + model.Csrq + "参数传进来的是什么东西?---------补充2-------'yyyy-mm-dd 24hi:mi:ss'这个地方错了,应改成'yyyy-mm-dd hh24:mi:ss'不是24hi对我有帮助1回答时间:2010-8-23 21:09 | 我来评论向TA求助回答者: badkano | 十四级采纳率:46% 名人擅长领域:数据库程序设计电脑/网络动漫参加的活动:暂时没有参加的活动提问者对于答案的评价:谢谢你的帮助相关内容2009-10-17 oracle中DATE类型字段如何新增记录1 2010-8-30 oracle数据库表中的date类型字段反映射成hibernate实体bean 时,是什么类... 2010-9-27 把时间 2010-10-01 09:28:03插入oracle 的date类型字段怎么写(时分秒... 1 2009-9-22 jsp查询Oracle的date数据类型 2009-10-26 查询Oracle数据库表字段类型sql语句 2 更多关于oracle根据日期查询的问题>>查看文章有关java中的Date,String,Timestamp之间的转化问题2010-12-07 15:22一.获取系统当前时间:1.System.out.println(new Timestamp(new java.util.Date().getTime)); //包含时分秒2.System.out.println(new java.sql.Date(new java.util.Date().getTime)); //不包含时分秒3.通过格式化类获取任意格式的时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss SSS"); String time = sdf.format(Calendar.getInstance().getTime());System.out.println(time);sql包的Date类没有无参的构造函数,而util的Date类有无参的构造函数java.util.Date date = new java.util.Date();是正确的//Tue Jun 15 09:04:23 CST 2010java.sql.Date date = new java.sql.Date();是错误的但是sql包的Date有一个带long型参数的构造函数,因此可以使用以下方式java.sql.Date date = new java.sql.Date(new java.util.Date().getTime()); //2010-6-17new java.util.Date():构造函数没有接受任何参数. 而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期. 下面是util包的Date的构造方法:public Date() { this(System.currentTimeMillis()); }还发现一件怪异的事情:// String转化成date String str = "9-29-2001";System.out.println(java.sql.Date.valueOf(str));输出:0016-10-21真是奇怪.三. Date转化成String//Date转化成String: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");System.out.println(sdf.format(new Date()));输出:2010-06-17 16:30:21 781四. Timestamp转化成StringSimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间String str = df.format(now);System.out.println(str);输出:2010-06-17 16:46:34五. String转化成TimestampSimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Date date11 = df1.parse("2010-6-2 16:10:38.00");String time = df1.format(date11);Timestamp ts = Timestamp.valueOf(time);System.out.println(ts);输出:2010-06-02 16:10:38.0select * from t_consultjfhjs twhere t.createdate>=to_date('2003-10-10 9:56:15','yyyy-mm-dd hh:mm:ss)select to_char(sysdate,'yyyymmdd hh24:mi:ss')select last_day(sysdate) from dual以24小时形式显示出来XML/HTML 代码复制内容到剪贴板01.select to_char(sysdate,'yyyymmdd hh24:mi:ss')结果:20100513 10:40:45相反的是to_date函数3、某月的最后一天用last_day函数SQL 代码复制内容到剪贴板01.select last_day(sysdate) from dual结果:2010-5-31 10:44:214、加法计算+1即增加一天,如果精确到小时、分钟、秒则用除法如:获得下月第一天时刻:SQL 代码复制内容到剪贴板01.select last_day(sysdate)+1 from dual再如:获得一小时后时刻oracle查询日期语句在我们使用数据库过程中是经常要用到的,下面就为您介绍16种oracle查询日期语句,每一种oracle查询日期语句实现了一个功能,希望对您能有所帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle关于日期时间
一.问题描述
我安装的数据库日期Date格式默认为’DD-M-YYYY(2-2月-1988)’,而数据库默认的格式一般都是’DD-MON-YYYY’,现在需要把日期格式改成数据库原本默认的格式
二.处理方式
修改注册表:
1.在注册表的KEY_LOCAL_MACHINE->SOFTWARE->ORACLE->HOME0
2.找到:NLS_LANG 如果这个不是’American’,要设置成英文(我原来安装的时候选的是简体中文,NLS_LANG的值是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK)
3.新建一个字符串,命名为NLS_DA TE_FORMA T,然后值填上想要的默认格式,例如:YYYY-MM-DD HH24:MI:SS
4.第三方的工具显示的日期格式有时候和数据库默认的不通,工具里面的格式是受工具影响的,如果想要改变PLSQL Developer里面的日期显示格式,可以这样改:
PL/SQL DEVELOPER需要在Tools->Preferences->User Interface->Date/Time下修改格式即
可:
如修改参数文件的话。

可直接在参数文件中添加:
NLS_DATA_FORMAT=YYYY-MM-DD-HH24:MI:SS,但须将注册表中上述位置的NLS_LANG字串值去掉。

三.常用的命名
1.可以用下面的命令来修改一个会话的日期格式,断开与数据库的连接时,会话结束,
所有的修改都会丢失
alter session set nls_date_format='yyyy-mm-dd'
2. 查看日期格式命名:show parameter nls_date_format
3. 查看参数设置:select * from nls_session_parameters
4.求某天是星期几select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
5.求当前是星期几:select to_char(sysdate, 'day') from dual
6. 一年的第几天:select TO_CHAR(SYSDA TE,'DDD'),sysdate from dual
参考网址:/397879213/archive/2010/12/29/341925.html
/gudufeiyang/article/details/5938885
2011年7月9日星期六
___LiBo整理。

相关文档
最新文档