SQL 语句的DECODE 和 NVL()函数 SELECT DECODE(WP01
ONDO_KBN,0,'
象外'1,'常温',2,'保冷') AS ONDO_KBN FROM WP01_S_HAITOTAL WP01 //分析: 当 WP01
ONDO_KBN=0 时 ,将 "
象外 "赋值 当 WP01
ONDO_KBN=1 时 ,将 "常温"赋值 当 WP01
ONDO_KBN=2 时 ,将 "保冷"赋值 NVL()函数: NVL(ARG,VALUE)达标如果前面的ARG 值为NULL 那么返回的值为后面的VALUE 二者结合使用 : DECODE(NVL(M01
NINUSI_NM,''),'','-',M01
NINUSI_NM) //分析: 首先判断--若 M01
NINUSI_NM 是否为空
若为空赋给空值[NVL 函数] 其次,判断取出的字段是否为空,如果是则赋给'-' 最后的默认处理是M01
NINUSI
DECODE 函数 DECODE 是 Oracle 公司独家提供的功能,它是一个功能很强的函数
它虽然不是SQL 的 标准,但对于性能非常有用
到目前,其他的数据库供应商还不能提供类似DECODE 的功能,甚至有的数据库的供应商批评Oracle的 SQL不标准
实际 上,这种批评有些片面或不够水平
就象有些马车制造商抱怨亨利
福特的‚马车‛不标准一样
1 DECODE 中的if-then-else 逻辑 在逻辑编程中,经常用到If – Then –Else 进行逻辑判断
在 DECODE 的语法中,实际上就是这样的逻辑处理过程
它的语法如下: DECODE(value, if1, then1, if