oracle decode函数怎么用-Oracle
Oracle DECODE 函数用法
Oracle DECODE 函数是一种用于在指定条件下返回不同值的条件语句。语法如下:
DECODE(expression, value1, result1, value2, result2, ..., default_result)
登录后复制
使用方法:
DECODE 函数有两个必需的参数:
- expression:要评估的表达式
- value1:要比较的第一个值
随后的参数按照成对出现,第一个参数是值,第二个参数是当 expression 等于该值时返回的结果。
如果 expression 与任何给定的值都不匹配,则返回 default_result。
示例:
假设有一张包含以下列的 "T恤" 表:
尺寸 | 颜色 | 数量 |
---|---|---|
S | 红 | 20 |
M | 绿 | 30 |
L | 蓝 | 40 |
要查询红色 T 恤的库存,可以使用以下 DECODE 函数:
SELECT SUM(数量) FROM T恤 WHERE DECODE(颜色, '红', 数量, NULL) IS NOT NULL;
登录后复制
在这个示例中,expression 是 "颜色" 列,value1 是 '红',result1 是 "数量" 列,default_result 为 NULL。函数将 "颜色" 与 '红' 进行比较,并返回 "数量" 值。因为没有其他值匹配,所以 NULL 值会被忽略。结果将是红色 T 恤的库存数量。
其他用法:
DECODE 函数还可以用于:
- 转换值,例如将数字转换为字符串
- 根据条件设置标志
- 替换缺失值
- 嵌套多个条件语句