随笔-28  评论-15  文章-81  trackbacks-0

1. nvl( ) 函数

示例 请参阅

从两个表达式返回一个非 null 值。

语法

NVL(eExpression1, eExpression2)

参数
eExpression1, eExpression2

如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。

返回值类型

字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

说明

在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( ) 来移去计算或操作中的 null 值。

select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID

注意:两个参数得类型要匹配

2.TO_CHAR(date,'format')
SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;

TO_CHAR(SYSDATE,'YY
-------------------
2004/05/09 21:14:41

select TO_CHAR(1,'FM09') from dual       result: 0

3.Oracle函数之substr

substr函数有三个参数,允许你将目标字符串的一部份输出,

第一个参数为目标字符串,

第二个字符串是将要输出的子串的起点,

第三个参数是将要输出的子串的长度。
   
例子1:

substr('ABCDEFG',   2,   3)   =   'BCD'  
   
如果第二个参数为负数,那么将会从源串的尾部开始向前定位至负数的绝对值的位置。

例子2:

substr('ABCDEFG',   -2)   =   'FG'

substr('ABCDEFG',   -4)   =   'DEFG'


 4.Oracle 函数之round
描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
参数:
number : 欲处理之数值
decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )
Sample :
select round(123.456, 0) from dual; 回传 123
select round(123.456, 1) from dual; 回传 123.5
select round(123.456, 2) from dual; 回传 123.46
不过最大长度不会超过16位
SELECT ROUND(112211111111263.451,6) FROM DUAL;   回传112211111111263


posted on 2008-02-03 13:42 谭明 阅读(619) 评论(2)  编辑  收藏 所属分类: Oracle

评论:
# re: Oracle 函数应用[未登录] 2008-09-18 12:53 | 小刚
当substr的源字符为null或空字符串时,是否会报错?  回复  更多评论
  
# re: Oracle 函数应用 2008-09-18 14:17 | 谭明
不会的,返回的还是空@小刚
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: