以下内容来源:http://www.cnblogs.com/hl3292/archive/2010/11/03/1868159.html
转换的格式:
表示 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:59
12小时制下的时间范围:1:00:00-12:59:59
当前时间 sysdate 2012/07/31
把日期或数字转换为字符串: to_char(sysdate(),'yy-mm-dd hh24:mi:ss')
to_char(number, '格式') , 例子:to_char('1000', '$99,999.99') //输出$1,000.00
to_char(date, '格式')
字符串转换为时间:to_date('2009-12-25 14:23:31','yyyy-mm-dd,hh24:mi:ss')
将字符串转换为数字:select to_number('1000000.123') from dual; //输出 1000000.123'
当前时间减去时分秒:select sysdate - 8*interval '7' hour from dual; //当前时间减去8个7小时。hour可换成second,day,minute,month,year
当前日期d后推n个月:select add_months(sysdate,2) from dual; //n可为负数,输出: 30-9月 -13
本月最后一天:select last_day(sysdate) from dual; //输出 31-7月 -13
日期f和s间相差月数:select months_between(sysdate,to_date('2005-11-12','yyyy-mm-dd'))from dual; //输出 92.63361185782556750298685782556750298686
当前会话时区中的当前日期:select current_date from dual; //输出 31-7月 -13
以timestamp with time zone数据类型返回当前会话时区中的当前日期:select sessiontimezone,current_timestamp from dual;
//输出 31-7月 -13 03.27.43.445033000 下午 +08:00
返回时区:select dbtimezone from dual
截取时间:select trunc(sysdate ,'yyyy') from dual; 输出:01-1月 -13 (截取到年)
按照每周统计:select to_char(sysdate,'ww') from dual group by to_char(sysdate,'ww'); //同理,可按每月,年等统计