神谕日期函数网上已经有了不少,特我们跟集中一下,免得大家麻烦。
一、常用日期数据格式
1.Y或YY或YYY年的最后一位,两位或三位SQL Select to_char(sysdate,' Y ')from dual;TO_CHAR(SYSDATE,' Y') - 7 SQL Select to_char(sysdate,' YY ')from dual;TO_CHAR(SYSDATE,' YY ')-07 SQL Select TO _ CHAR(SYSDATE,' YYY ')from dual;TO_CHAR(SYSDATE,' YYY') - 007 2 .Q季度1~3月为第一季度,2表示第二季度SQL Select to_char(sysdate,' Q ')from dual;TO_CHAR(SYSDATE,' Q ')-2 ^ 3 .缩写。毫米(毫米)月份数SQL Select to_char(sysdate,' MM ')from dual;TO_CHAR(SYSDATE,' MM') - 05 4 .空间月份的罗马表示(五在罗马数字中表示5) SQL Select to_char(sysdate,' RM ')from dual;TO_CHAR(SYSDATE,' RM') - V 5 .月用9个字符长度表示的月份名SQL Select to_char(sysdate,' Month ')from dual;TO_CHAR(SYSDATE,' MONTH') - 5月6.(同白水)白水当年第几周(2007年5月29日为2007年第22周)SQL Select to_char(sysdate,' WW ')from dual;TO_CHAR(SYSDATE,' WW') - 22 7 .W本月第几周(2007年5月29日为5月第5周)SQL Select to_char(sysdate,' W ')from dual;TO_CHAR(SYSDATE,' W') - 5 8 .DDD当年第几天(2007年5月29日为2007年第149天)SQL Select to_char(sysdate,' DDD ')from dual;TO_CHAR(SYSDATE,' DDD') - 149 9 .直接伤害当月第几天SQL Select to_char(sysdate,' DD ')from dual;TO_CHAR(SYSDATE,' DD') - 29 10 .D周内第几天SQL Select to_char(sysdate,' D ')from dual;TO_CHAR(SYSDATE,' D') - 3 11 .镝中文的星期几( (2007年5月29日为星期二))SQL Select to_char(sysdate,' DY ')from dual;TO_CHAR(SYSDATE,' DY') -星期二12.殿下或HH12 12进制小时数(16:09分为用12小时制计时为四点)SQL Select to_char(sysdate,' HH ')from dual;TO_CHAR(SYSDATE,' HH') - 04 13 .HH24 24小时制SQL Select to_char(sysdate,' HH24 ')from dual;TO_CHAR(SYSDATE,' HH24') - 16二、常用时间函数1.trunc(sysdate,' Q ')本季度第一天SQL select trunc(sysdate,' Q ')from dual;TRUNC,2007年4月1日本周的第一天(周日)SQL select trunc(sysdate,' D ')from dual;TRUNC最后一天本月最后一天SQL select last _ day(sysdate)from dual;最后一天(系统日期)-日期:2007年12月16日系统日期,2)日期系统日期后推2个月
SQL select add_months(sysdate,2)from dual;ADD_MONTHS(SYSDATE,2)-2007-7-29 15:21:14 5。下一天(系统日期,2)日期系统日期之后的第一周中,第2(指定星期的第几天)是什么日期SQL select next_day(sysdate,2)from dual;第二天(系统日期,2) - 2007-6-4 15:22:10 6。月_之间(法、西)日期f和s间相差月数SQL select months _ between(sysdate,to_date('2007-04-12 ',' yyyy-mm-dd'))from dual .月与月之间(系统日期,截止日期-1。53860 .68686868661
7.得到系统日期5所在的月份SQL SELECT to_char(SYSDATE 5,' mon ',' nls _ date _ language=American ')FROM dual;TO_CHAR(系统日期5,'星期一,' NLS _日-6月8日。当前日期()返回当前会话时区中的当前日期。9 .从双重的中选择dbtimezone10。提取()找出日期或间隔值的字段值SQL select extract(Month from sysdate)' This Month ' from dual;本月-5 SQL select extract(从sysdate开始的年份)'本年从双重今年-2007 SQL select extract(Month from add _ months(sysdate,2))' Month from dual;第七个月
===================================================================2.上个月的今天SQL select to _ char(add _ months(sysdate,-1),' yyyy-mm-dd ')从dual前进;3.上个月的第一天,SQL select to _ char(add _ months(last _ day(sysdate)1,-2),' yyyy-mm-dd ')第一天from dual4.要查找一个月中所有星期五的具体日期,select to _ char (b.a,' YY-mm-DD ')from(select trunc(sysdate,' mm ')rownum-1 a from DBA _ objects where rownum 32)b where to _ char(b . a,' day ')=' Friday ';
如果您将where to _ char (t.d .' mm')=to _ char (sysdate,' mm ')更改为sysdate-90,您将找到当前月份前三个月中每个星期五的日期。
5.从DBA _ objects获取系统的当前月份和以后的日期SELECT TRUNC (SYSDATE,' MM ')rownum-1;
- MM是一个用了几个月的格式,分分钟也可以,但是结果是错的。15.SS秒(0 ~ 59)
上一页12阅读全文
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。