分别返回结果:123.45、120。
VSIZE(n) 返回数字n的存储字节 SELECT VSIZE(123) FROM DUAL;
日期函数(日期可以进行算术运算) SYSDATE 返回相同日期 SELECT SYSDATE FROM DUAL;
ADD_MONTHS(<d>,<i>) 返回日期d 加上i个月后的新日期(i正可负)。 SELECT SYSDATE, ADD_MONTHS(SYSDATE,2),
ADD_MONTHS(SYSDATE,-2)
FROM DUAL;
LAST_DAY(<d>) 返回日期d所在的月的最后一天。 SELECT SYSDATE,LAST_DAY(SYSDATE) FROM DUAL
MONTHS_BETWEEN(<d1>,<d2>) 返回日期d1比d2大多少月数。 SELECT MONTHS_BETWEEN(’19-Dec-1999’,’19-Mar-2000’ FROM DUAL;
NEW_TIME(<d>,<tz1>,<tz2>) 将时区tz1的时间d,转换为时区tz2里的时间。 SELECT SYSDATE,NEW_TIME(SYSDATE,’CDT’,’PDT’) FROM DUAL;
NEXT_DAY(<d>,<dow>) 返回日期d后的第一个dow。(dow:day of week) SELECT NEXT_DAY(SYSDATE,’Monday’) FROM DUAL;
常用转换函数 TO_CHAR(<x>[,<fmt>[,<nlsparm>]]) 将x转换成字符串。(参数含义请看ORACLE的联机帮助) SELECT TO_CHAR(SYSDATE,’YYYY-MM-DD’) FROM DUAL;
TO_NUMBER(<c>[,<fmt>[,<nlsparm>]]) 将字符串c转换成数字。(参数含义请看ORACLE的联机帮助) SELECT TO_NUMBER(‘123’) FROM DUAL;
TO_DATE(<c>[,<fmt>[,<nlsparm>]])
(常见的日期格式请查联机帮助。)
将字符串c转换成日期。 SELECT TO_DATE(’19-Mar-99’,’DD-Mon-YYYY’) FROM DUAL;
两个重要函数 DECODE(<x>,<m1>,<r1>[,<m2>,
<r2…>][,<d>])
(DECODE函数功能非常强大,请仔细玩味。)
一个功能非常强大的函数,它使得SQL非常高效。它的功能类似于一系列的if…then…else语句。 SELECT sid,serial#,username,

