ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:20.16KB ,
资源ID:18884050      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18884050.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PLSQL常用时间函数Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PLSQL常用时间函数Word文档下载推荐.docx

1、命名的,在变量d指定的日期之后的第一个工作日的日期。参数必须为该星期中的某一天。 SELECT next_day(to_date(20050620YYYYMMDD),1) FROM dual;NEXT_DAY(T26-6月 -056。current_date()返回当前会话时区中的当前日期=current_date column sessiontimezone for a15 select sessiontimezone,current_date from dual;SESSIONTIMEZONE CURRENT_DA- -+08:00 13-11月-03 alter session set

2、time_zone=-11:00 2 /会话已更改。 select sessiontimezone,current_timestamp from dual;SESSIONTIMEZONE CURRENT_TIMESTAMP- -00 12-11月-03 04.59.13.668000 下午 -11:007。current_timestamp()以timestamp with time zone数据类型返回当前会话时区中的当前日期 select current_timestamp from dual;CURRENT_TIMESTAMP-21-6月 -05 10.13.08.220589 上午 +

3、08:008。dbtimezone()返回时区 select dbtimezone from dual;DBTIME-08:9。extract()找出日期或间隔值的字段值=extract(date_field from datetime_value|interval_value) select extract(month from sysdate) This Month from dual;This Month6 select extract(year from add_months(sysdate,36) YearsYears200810。localtimestamp()返回会话中的日期和时

4、间 select localtimestamp from dual;LOCALTIMESTAMP21-6月 -05 10.18.15.855652 上午常用日期数据格式(该段为摘抄)Y或YY或YYY 年的最后一位,两位或三位 Select to_char(sysdate,YYY) from dual; 002表示2002年SYEAR或YEAR SYEAR使公元前的年份前加一负号 Select to_char(sysdate,SYEAR) from dual; -1112表示公元前111 2年Q 季度,13月为第一季度 Select to_char(sysdate,Q) from dual; 2

5、表示第二季度MM 月份数 Select to_char(sysdate,MM) from dual; 12表示12月RM 月份的罗马表示 Select to_char(sysdate,RM) from dual; IV表示4月Month 用9个字符长度表示的月份名 Select to_char(sysdate,Month) from dual; May后跟6个空格表示5月WW 当年第几周 Select to_char(sysdate,WW) from dual; 24表示2002年6月13日为第24周W 本月第几周 Select to_char(sysdate,W) from dual; 20

6、02年10月1日为第1周DDD 当年第几, 1月1日为001,2月1日为032 Select to_char(sysdate,DDD) from dual; 363 2002年1 2月2 9日为第363天DD 当月第几天 Select to_char(sysdate,DD) from dual; 04 10月4日为第4天D 周内第几天 Select to_char(sysdate,D) from dual; 5 2002年3月14日为星期一DY 周内第几天缩写 Select to_char(sysdate,DY) from dual; SUN 2002年3月24日为星期天HH或HH12 12进

7、制小时数 Select to_char(sysdate,HH) from dual; 02 午夜2点过8分为02HH24 24小时制 Select to_char(sysdate,HH24) from dual; 14 下午2点08分为14MI 分钟数(059) Select to_char(sysdate,MI) from dual; 17下午4点17分SS 秒数(059) Select to_char(sysdate,SS) from dual; 22 11点3分22秒提示注意不要将MM格式用于分钟(分钟应该使用MI)。MM是用于月份的格式,将它用于分钟也能工作,但结果是错误的。现在给出一

8、些实践后的用法:上月末天: select to_char(add_months(last_day(sysdate),-1),yyyy-MM-dd) LastDay from dual;LASTDAY2005-05-31上月今天 select to_char(add_months(sysdate,-1),) PreToday from dual;PRETODAY2005-05-213.上月首天 select to_char(add_months(last_day(sysdate)+1,-2),) firstDay from dual;FIRSTDAY2005-05-014.按照每周进行统计 se

9、lect to_char(sysdate,ww) from dual group by to_char(sysdate,);TO-25按照每月进行统计mm06按照每季度进行统计qT-2按照每年进行统计yyyyTO_C-20058.要找到某月中所有周五的具体日期select to_char(t.d,YY-MM-DD) from (select trunc(sysdate, MM)+rownum-1 as dfrom dba_objectswhere rownum 32) twhere to_char(t.d, ) = to_char(sysdate, ) -找出当前月份的周五的日期and tri

10、m(to_char(t.d, Day) = 星期五-03-05-0203-05-0903-05-1603-05-2303-05-30如果把where to_char(t.d, )改成sysdate-90,即为查找当前月份的前三个月中的每周五的日期。9.oracle中时间运算内容如下:1、oracle支持对日期进行运算2、日期运算时是以天为单位进行的3、当需要以分秒等更小的单位算值时,按时间进制进行转换即可4、进行时间进制转换时注意加括号,否则会出问题 alter session set nls_date_format=yyyy-mm-dd hh:mi:ss; set serverout on

11、declare2 DateValue date;3 begin4 select sysdate into DateValue from dual;5 dbms_output.put_line(源时间:|to_char(DateValue);6 dbms_output.put_line(源时间减1天:|to_char(DateValue-1);7 dbms_output.put_line(源时间减1天1小时:|to_char(DateValue-1-1/24);8 dbms_output.put_line(源时间减1天1小时1分:|to_char(DateValue-1-1/24-1/(24*6

12、0);9 dbms_output.put_line(源时间减1天1小时1分1秒:|to_char(DateValue-1-1/24-1/(24*60)-1/(24*60*60);10 end;11 /2003-12-29 11:53:412003-12-28 11:2003-12-28 10:52:40PL/SQL 过程已成功完成。在Oracle中实现时间相加处理- 名称:Add_Times- 功能:返回d1与NewTime相加以后的结果,实现时间的相加- 说明:对于NewTime中的日期不予考虑- 日期:2004-12-07- 版本:1.0- 作者:Kevincreate or replac

13、e function Add_Times(d1 in date,NewTime in date) return dateishh number;mm number;ss number;hours number;dResult date;begin- 下面依次取出时、分、秒select to_number(to_char(NewTime,HH24) into hh from dual;MI) into mm from dual;SS) into ss from dual;- 换算出NewTime中小时总和,在一天的百分几hours := (hh + (mm / 60) + (ss / 3600)

14、/ 24;- 得出时间相加后的结果select d1 + hours into dResult from dual;return(dResult);end Add_Times;- 测试用例- select Add_Times(sysdate,to_date(2004-12-06 03:23:YYYY-MM-DD HH24:MI:) from dual在Oracle9i中计算时间差计算时间差是Oracle DATA数据类型的一个常见问题。Oracle支持日期计算,你可以创建诸如“日期1日期2”这样的表达式来计算这两个日期之间的时间差。一旦你发现了时间差异,你可以使用简单的技巧来以天、小时、分钟或

15、者秒为单位来计算时间差。为了得到数据差,你必须选择合适的时间度量单位,这样就可以进行数据格式隐藏。使用完善复杂的转换函数来转换日期是一个诱惑,但是你会发现这不是最好的解决方法。round(to_number(end-date-start_date)- 消逝的时间(以天为单位)round(to_number(end-date-start_date)*24)- 消逝的时间(以小时为单位)round(to_number(end-date-start_date)*1440)- 消逝的时间(以分钟为单位)显示时间差的默认模式是什么?为了找到这个问题的答案,让我们进行一个简单的SQL *Plus查询。 s

16、elect sysdate-(sysdate-3) from dual;SYSDATE-(SYSDATE-3)-3这里,我们看到了Oracle使用天来作为消逝时间的单位,所以我们可以很容易的使用转换函数来把它转换成小时或者分钟。然而,当分钟数不是一个整数时,我们就会遇到放置小数点的问题。Select(sysdate-(sysdate-3.111)*1440fromdual;(SYSDATE-(SYSDATE-3.111)*1440-4479.83333当然,我们可以用ROUND函数(即取整函数)来解决这个问题,但是要记住我们必须首先把DATE数据类型转换成NUMBER数据类型。round(to

17、_number(sysdate-(sysdate-3.111)*1440)ROUND(TO_NUMBER(SYSDATE-(SYSDATE-3.111)*1440)-4480我们可以用这些函数把一个消逝时间近似转换成分钟并把这个值写入Oracle表格中。在这个例子里,我们有一个离线(logoff)系统级触发机制来计算已经开始的会话时间并把它放入一个Oracle STATSPACK USER_LOG扩展表格之中。Updateperfstat.stats$user_logsetelapsed_minutes =round(to_number(logoff_time-logon_time)*1440

18、)whereuser = user_idandelapsed_minutes is NULL;查出任一年月所含的工作日CREATE OR REPLACE FUNCTION Get_WorkingDays(ny IN VARCHAR2) RETURN INTEGER IS/*-函数名称:Get_WorkingDays中文名称:求某一年月中共有多少工作日作者姓名: XINGPING编写时间: 2004-05-22输入参数:NY:所求包含工作日数的年月,格式为yyyymm,如200405返 回 值:整型值,包含的工作日数目。算法描述:1).列举出参数给出的年月中的每一天。这里使用了一个表(ljrq是

19、我的库中的一张表。这个表可以是有权访问的、记录条数至少为31的任意一张表或视图)来构造出某年月的每一天。2).用这些日期和一个已知星期几的日期相减(2001-12-30是星期天),所得的差再对7求模。如果所求年月在2001-12-30以前,那么所得的差既是负数,求模后所得值范围为大于-6,小于0,如-1表示星期六,故先将求模的结果加7,再求7的模.3).过滤掉结果集中值为0和6的元素,然后求count,所得即为工作日数目。-*/Result INTEGER;BEGINSELECT COUNT(*) INTO ResultFROM (SELECT MOD(MOD(q.rq-to_date(200

20、1-12-30),7),7) weekdayFROM ( SELECT to_date(ny|t.dd,yyyymmdd) rqFROM (SELECT substr(100+ROWNUM,2,2) ddFROM ljrq z WHERE Rownum=31) tWHERE to_date(ny|t.dd,)BETWEEN to_date(ny,yyyymmAND last_day(to_date(ny,)q) aWHERE a.weekday NOT IN(0,6);RETURN Result;END Get_WorkingDays;_还有一个版本/*- 2004-05-23使用Last_day函数计算出参数所给年月共包含多少天,根据这个值来构造一个循环。在这个循环中先求这个月的每一天与一个已知是星期天的日期(2001-12-30是星期天)的差,所得的差再对7求模。如果所求日期在2001-12-30以前,那么所得的差既是负数,求模后所得值范围为大于-6,小于0,如-1表示星期六,故先将求模的结果加7,再求7的模. 如过所得值不等于0和6(即不是星期六和星期天),则算

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1