select decode( op
,'a','hht,I am A; b is the base! and It is not a lie , '
||'please believe me;I promise!'
,'b','hht,I am B; a is the base! and It is not a lie , '
||'please believe me;I promise!'
,'c','I am not allow to tell you anything, sorry-ing......'
,'none') dcde
from (
select case in_op
when 'a' then 'b'
when 'b' then 'a'
else 'c'
end op
from (
select 'a' in_op
from dual
)
)
分享到:
相关推荐
Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...
then all_c.data_type || decode(all_c.data_precision,0,'',NULL,'','(' || to_char(all_c.data_precision)) || decode(all_c.data_precision,0,'',NULL,'', decode(all_c.data_scale,0,'',NULL,'', ',' || to_...
SELECT CASE 4 WHEN 10 THEN '' WHEN 20 THEN 'z' WHEN 30 THEN 'x' ELSE '未知' END FROM dual; -- 输出结果:未知 ``` - **DECODE**: 简单条件判断表达式。 ```sql SELECT DECODE(10, 10, '', 20, 'z', 30, ...
- **语法**:`CASE WHEN condition THEN result [WHEN ...] [ELSE default_result] END`, `DECODE(column, search, result[, search, result ...[, default]])`, `NULLIF(expression1, expression2)` - **示例**:...
SUM(CASE WHEN sal >= 1500 THEN 1 ELSE 0 END) AS more, SUM(CASE WHEN sal < 1500 THEN 1 ELSE 0 END) AS less FROM emp_hhs GROUP BY deptno ORDER BY deptno; ``` 这条语句用于统计每个部门工资大于等于1500的...
SELECT CASE SIGN(5 - 6) WHEN 1 THEN 'Is Positive' WHEN -1 THEN 'Is Negative' ELSE 'Is Zero' END FROM dual; ``` 在ORDER BY子句中,DECODE也十分有用,例如按特定顺序排序列: ``` SELECT * FROM table_...
- `CASE WHEN...THEN...ELSE...END`:用于复杂的条件判断。 - `DECODE`:简化版的CASE语句,适用于简单的条件判断。 #### 2. **数据类型映射** - 使用`DECODE`或`CASE`语句可以将Oracle的数据类型映射到Java或...
sql>select \'UserId=1233111\'||chr(10)||\'AccId=13431\'||chr(9)||\'AccId2=11111\' from dual; 24、树形查询 create table zj( bm number(8), bmmc varchar2(20), sjbm number(8) ) insert into zj ...
- `SELECT salary, CASE WHEN salary < 3000 THEN '低工资' WHEN salary < 5000 THEN '中等工资' ELSE '高工资' END FROM employees;` 这个查询将根据`salary`分段显示不同类别。 这些示例展示了SQL的基本功能,...
- **Oracle** 和 **DB2** 都支持基本的条件语句,如 `IF-THEN`, `IF-THEN-ELSE`, `IF-THEN-ELSIF` 等。 - Oracle示例: ```sql IF condition THEN -- statements END IF; ``` - DB2示例: ```sql IF ...
#### 六、CASE WHEN语句 - **DECODE**: 根据条件返回不同的值。 - 示例:`SELECT SUM(DECODE(JOB, 'CLERK', 1, 0)) FROM emp;` 统计职位为CLERK的员工数量。 #### 七、联合查询 - **UNION**: 用于合并两个或多个...
本文将基于提供的部分内容介绍一些常用的 Oracle 函数及其应用示例。 #### 日期时间转换函数 1. **`TO_CHAR()`**:用于将日期或数字转换为指定格式的字符串。 - 示例: ```sql SELECT TO_CHAR(SYSDATE, 'YYYY-...
MAX(CASE WHEN month = 'Jan' THEN sales ELSE NULL END) AS Jan_Sales, MAX(CASE WHEN month = 'Feb' THEN sales ELSE NULL END) AS Feb_Sales, -- 继续其他月份... FROM sales_table GROUP BY product_id; ``...
Oracle中提供了`decode`函数用于条件判断,而在DB2中则使用`CASE WHEN THEN ELSE END`这样的结构来实现相同的功能。例如: ```sql -- Oracle SELECT decode(a.status, 1, 'Active', 0, 'Inactive') AS status_desc ...
在软件开发领域,数据库的选择和使用对于系统的性能和稳定性至关重要。Oracle和DB2都是业界知名的数据库管理系统,它们各自具有独特的特性和语法。以下是对Oracle到DB2转换的一些关键知识点的详细说明: 1. **取前N...
- 示例:`CASE WHEN score > 90 THEN '优秀' WHEN score > 70 THEN '良好' ELSE '一般' END`。 - **DECODE** 函数: - 示例:`DECODE(column_name, search_value, result_value, [default_value])`。 通过上述...
- Oracle的DECODE函数在DB2中不支持,可以使用CASE WHEN语句替代,如`SELECT CASE WHEN f_areaid IS NULL THEN '空' ELSE f_areaid END FROM masa_user`。 7. **NVL函数**: - Oracle的NVL在DB2中需要使用...
**注意:** Oracle支持多重条件分支结构(`IF-THEN-ELSIF`),而DB2仅支持基本的`IF-THEN`和`IF-THEN-ELSE`结构。 #### 二、动态语句 动态语句是指在运行时动态构建并执行的SQL语句,这对于需要根据不同的输入构建...