一般地讲,在 SELECT 语句的 SELECT 部分实现选择功能,可以用DECODE函数。 如: SELECT DECODE(字段1, A ,字段A, B ,字段B, C ,字段C, 字段D) FROM 表名; 这样就可以根据每条记录的字段1的值来选择其它字段的值。当然这里要注意:字段A,B,C,D的类型要一致或可自动转换。
还可以在WHERE部分实现选择功能。 如: SELECT …… FROM 表名 WHERE (其它必需的条件) AND (C_V != 0 OR 可选条件1) AND (C_V != 1 OR 可选条件2) AND (C_V != 3 OR 可选条件3) …… ;
说明: 1。上面语句的含义为:当控制变量C_V为0时,按 可选条件1 来选择;当控制变量C_V为1时,按 可选条件2 来选择…… 2。要注意,控制变量的名字不要与表中的原有字段名相同。 3。上面的这段程序可以写在 PROCEDURE 或 FUNCTION 中,控制变量可以作为过程或函数的输入参数。 4。省略号表示类似上面三行的语句可以写多次。 5。上面所述的 WHERE 部分中条件的选择,可以用在任何语句的WHERE部分中。