Oracle DECODE
语法:
DECODE(expr, search, result [, search, result ]... [, default ] )
应用:
DECODE函数将每一个expr和search的值做比较。如果expr的值与search的值相等,Oracle数据库就会返回相应的result。如果找不到匹配的值,Oracle返回default。如果没有default,Oracle返回null值。参数可以是任意数值类型(NUMBER,BINARY_FLOAT, or BINARY_DOUBLE)和字符型。 1、如果expr和search是字符型,Oracle通过非填充的比较语义来比较它们。expr,search和result可以是CHAR, VARCHAR2, NCHAR, or NVARCHAR2中任意类型的数据类型。字符串返回的是VARCHAR2型数据类型,它和第一个result参数处于同一个字符集。 2、如果第一个search-result对是数值型的,Oracle会比对所有的search-result表达式以及expr来决定具有最高优先级的参数数值,并隐式转换其余参数的数据类型以及返回值的数据类型。search、result和default的值可以由表达式运算得来。Oracle数据库使用的是短路评价。也就是说,数据库只在将每个search值和expr值对比之前才评价search的值,而不是在与expr对比之前评价所有的search值。Oracle在比对之前自动将expr和每个search的值转换成第一个search值的数据类型,并自动将返回值转换成与第一个result相同的数据类型。如果第一个result有CHAR数据类型或者为NULL,Oracle会将返回值转换成VARCHAR2类型。在DECODE函数里,Oracle将两个null值认为是相等的。如果expr和第一个search同时为空,那Oracle会返回所有所有的result。 DECODE所能容纳的最大参数数目是255个,这其中包括expr,search,result以及default。例子:例子解码warehouse_id的值,如果warehouse_id为1,返回Southlake,为2返回San Francisco等等。如果warehouse_id不是1,2,3,4中的任意一个,函数返回Non domestic。SELECT product_id,
DECODE (warehouse_id, 1, 'Southlake',
2, 'San Francisco',
3, 'New Jersey',
&n
相关文档:
1. 游标: 容器,存储SQL语句影响行数。
2. 游标类型: 隐式游标,显示游标,REF游标。其中,隐式游标和显示游标属于静态游标(运行前将游标与SQL语句关联),REF游标属于动态游标(运行时将游标与SQL语句关联)。
3. ......
DSI是Data Server
Internals的缩写,是Oracle公司内部用来培训Oracle售后工程师使用的教材.由于某种原因流落江湖,
受到众多Oracle爱好者的追捧, 不过要是功力不到, 阅读反而无益. DSI3是Oracle 8系列的, DSI4是Oracle 9系列的.
这样的文档上通常都印着:Oracle Confidential:For internal Use Only.
DSI301 Advanced S ......
2010年05月2号 |
23:59分类:Linux&Unix
, 管理维护
| 编辑
| 标签:11g
、grid
本文出自 “inthirties(男
人三十)
”博客,转载请务必注明作者和保留出处。
11g里出现了一个新角色。
Oracle Grid Infrastructure
http://downlo ......
自定义函数
--自定义函数
CREATE OR REPLACE FUNCTION fn_WFTemplateIDGet
(
TemplateCategoryID NUMBER,
OrganID NUMBER,
TemplateMode NUMBER
)
RETURN NUMBER
IS
......