技术开发 频道

ORACLEERP开发基础之Oracle数据库基础

  【IT168 技术文档】

  ORACLEERP开发基础之前言

  http://tech.it168.com/a2009/0427/274/000000274048.shtml

  ORACLE ERP开发之OracleForms基础(一)Forms设置部分

  http://tech.it168.com/a2009/0428/274/000000274178.shtml

  ORACLEERP开发基础之OracleForms基础(二)FORMS代码部份

  http://tech.it168.com/a2009/0428/274/000000274236.shtml

  ORACLE ERP开发基础之Oracle Report基础

  http://tech.it168.com/a2009/0429/274/000000274343.shtml

  常用函数

  substr函数

  Example:SELECT substr('teach',0,3) FROM DUAL

  Effect: tea

  Example: SELECT substr('teach',3,3) FROM DUAL

  Effect: ach

  Lpad/Rpad函数

  Example: SELECT LPAD('TEACH',4) FROM DUAL

  Effect: teac

  Example: SELECT LPAD('TEACH',10,'5') FROM DUAL

  Effect: 55555TEACH

  日期函数

  Oracle的日期函数比较丰富,不象SQL SERVER只有dateadd、datediff之类。

  1.系统时间

  SQL:select getdate() value

  Oracle:select sysdate value from dual

  2.前后几日

  都支持直接与整数相加减

  3.求日期

  SQL:select convert(char(10),getdate(),20) value

  Oracle:select trunc(sysdate) value from dual

  select to_char(sysdate,'yyyy-mm-dd') value from dual

  4.求时间

  SQL:select convert(char(8),getdate(),108) value

  Oracle:select to_char(sysdate,'hh24:mm:ss') value from dual

  5.取日期时间的其他部分

  SQL:DATEPART 和 DATENAME 函数 (第一个参数决定)

  Oracle:to_char函数 第二个参数决定

  下表补充说明SQL与ORACLE在取参数时的区别

  6.当月最后一天

  SQL:比较烦琐,先求当月的第一天,然后求得下月的第一天,最后减一得到当月最后一天。

  Oracle:select LAST_DAY(sysdate) value from dual

  7.本星期的某一天(比如星期日)

  SQL:week函数

  Oracle:SELECT Next_day(sysdate,7) vaule FROM DUAL;

  8.字符串转时间

  SQL:可以直接转或者select cast('2004-09-08'as datetime) value

  O:SELECT To_date('2008-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;

  9.求两日期某一部分的差(比如秒)

  SQL:select datediff(ss,getdate(),getdate()+12.3) value

  Oracle:直接用两个日期相减(比如d1-d2=12.3)

  SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

  10.根据差值求新的日期(比如分钟)

  SQL:select dateadd(mi,8,getdate()) value

  Oracle:SELECT sysdate+8/60/24 vaule FROM DUAL;

  11.当月第一天

  SQL:select dateadd(getdate,-day)

  O: select trunc(sysdate,'mm') from dual;

0
相关文章