iilegend 2013-02-21
今天碰到Oracle三个函数TRIM、TRUNC、DECODE,将体会记录下来,以供日后查阅方便。
1.TRIM函数:用于出去字符串行首和行尾的空格。
SELECT TRIM(' YICHANGzyh ') " TRIM e.g."
FROM dual;
TRIM e.g.
YICHANGzyh
2.TRUNC函数:截断函数。
SELECT trunc(sysdate) "截取到当天",
trunc(sysdate,'year') "截取到年第一天",
trunc(sysdate,'month') "截取到月第一天",
trunc(sysdate,'day') "截取到周第一天",
trunc(sysdate,'hh24') "截取到小时(0分0秒)",
trunc(sysdate,'mi') "截取到分钟(0秒)"
FROM dual;
截取到当天, 截取到年第一天, 截取到月第一天, 截取到周第一天, 截取到小时(0分0秒), 截取到分钟(0秒)
2013-2-20, 2013-1-1, 2013-2-1, 2013-2-17, 2013-2-20 17:00:00, 2013-2-20 17:02:00
3.DECODE函数:条件判断。
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
Oracle中round() 函数与trunc()函数的比较,非常实用。x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。