今天遇到sql语句中要判断不知道怎么做,于是找了一下,哈哈oracle挺强的
先看case when 语句:
select case when c.store_amount-c.amount > 0 then '盘盈'
when c.store_amount-c.amount < 0 then '盘亏'
else '持平' end from sghis.pa_pham_check_detail c'
decode语句:
select t.employee_id,
t.employee_name,
decode(t.sex , '1' , '男', '2' , '女', ' ') as sex,
t.age,
a.office_name,
t.office_code,
b.dmmc || ' ' as work_p,
t.work_position,
t.doctor_code || ' ' as doctor_code,
e.dmmc,
t.technic_title,
t.py_code,
t.wb_code
from sghis.hd_employee t,
sghis.hd_office_dict a,
(select c.dmsb, c.dmmc
from sghis.hd_gy_dmzd c
where c.dmlb = '7'
and c.xtsb = '0') b,
(select d.dmsb, d.dmmc
from sghis.hd_gy_dmzd d
where d.dmlb = '8'
and d.xtsb = '0') e
where t.office_code = a.office_code
and t.work_position = b.dmsb(+)
and t.technic_title = e.dmsb(+)
and t.hos_id = '$P!{hos_id}'
and t.employee_name like '%$P!{employee_name}%'
and t.office_code like '%$P!{office_code}%'
and t.py_code like '%$P!{py_code}%'
and t.wb_code like '%$P!{wb_code}%'
order by t.office_code
分享到:
相关推荐
在阅读博客文章《decode函数与case when 的妙用》时,作者可能分享了一些具体的示例和使用技巧,帮助我们更好地理解和掌握这两种方法。通过学习和实践,我们可以将这些知识应用于日常的数据库操作,优化数据处理流程...
`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ANSI 标准而更受推荐使用。 #### 二、基本结构 `CASE WHEN` 语句的基本结构如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ...
Oracle的CASE WHEN语句是SQL查询中的一个非常重要的条件判断工具,它允许你在单个查询中根据不同的条件执行不同的操作。CASE WHEN语句有两种主要形式:简单CASE和搜索CASE。 **1. 简单CASE函数** 简单CASE主要用于...
Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...
这里的`CASE-WHEN`语句与`DECODE`函数类似,也是将字段值映射到对应的排序值,然后根据这些值进行排序。`CASE-WHEN`的优点在于其结构更清晰,易于阅读,并且可以处理更复杂的条件判断。 3. **效率与优化** 虽然这...
在Oracle数据库中,`DECODE`函数是一种非常实用的条件判断函数,其功能类似于编程语言中的`IF`语句。通过比较输入值与一系列预设值,该函数能够根据匹配情况返回相应的结果。 #### 二、DECODE函数的基本语法 `...
总的来说,Oracle的CASE WHEN语句为我们提供了一种强大的工具,可以在数据库查询阶段完成复杂的逻辑判断,避免了在后端程序中进行大量的数据处理,提高了系统的效率。通过熟练运用CASE WHEN,我们可以更好地应对多值...
- `DECODE(AA, V1, R1, V2, R2, …., [DEFAULT])`:类似于`CASE WHEN`语句,根据`AA`的值返回不同的结果 - `LPAD(char1, n, char2)`:在字符串左侧填充字符以达到指定长度 #### 2. 复杂查询 - **嵌套查询**: ``...
MySql 中的 CASE WHEN 语句可以替换 DECODE 函数。MySql 中的 TEXT 等同于 Oracle 中的 LONG 函数。 13. 日期函数 MySql 中的 EXTRACT 函数可以提取日期的年、月、日等信息,而 Oracle 需要使用 TO_CHAR 函数来...
在给定的内容中,DECODE函数被用来实现与CASE语句相同的效果: ```sql SELECT seq, SUM(DECODE(jcxm, 1, zhi, 0)) AS 目标1, SUM(DECODE(jcxm, 2, zhi, 0)) AS 目标2, SUM(DECODE(jcxm, 3, zhi, 0)) AS 目标3 ...
DECODE函数可以实现条件判断,相较于CASE WHEN结构,其执行效率更高,尤其在处理大量重复记录或连接相同表的场景下,能够显著减少处理时间和资源消耗。 #### 整合无关联的数据库访问 将多个独立的简单查询整合为一...
Oracle提供了多种方法来处理空值,包括使用NVL、NVL2、COALESCE函数,以及CASE和DECODE语句。下面将详细介绍这些方法及其应用场景。 ### 1. NVL函数 NVL(expr1, expr2)函数用于替换空值。当expr1为NULL时,NVL函数...
然而,在面对复杂的多条件组合统计需求时,`DECODE`函数的应用可能会变得相对繁琐,这时往往更倾向于使用`CASE WHEN`语句或创建视图的方法来解决。不过,如果出于特定原因需要坚持使用`DECODE`函数,那么了解如何...
它可以替代`CASE WHEN THEN ELSE END`语法,从而减少处理时间。具体使用方式可以参考提供的百度百科链接。 #### 六、整合简单、无关联的数据库访问 如果你有多个简单的数据库查询语句,可以尝试将它们整合到一个...
Oracle作为一款流行的关系型数据库管理系统,其支持的SQL语句与标准SQL有很高的兼容性,但同时也包含了一些Oracle特有的扩展功能。 #### 二、什么是数据库 数据库是一种组织数据的方式,它允许用户通过各种操作对...
在提供的内容中,通过DECODE函数实现了工资的区间判断显示,使用CASE语句完成了加薪规则的计算,还演示了如何使用UNION、INTERSECT和MINUS进行集合操作。这些知识点展示了Oracle在数据处理方面的灵活性和高效性,...
然而,MySQL 并没有内置的 `DECODE` 函数,但我们可以使用 `CASE WHEN` 语句来达到类似的效果。下面我们将详细探讨如何在 MySQL 中实现类似于 Oracle 的 `DECODE` 查询。 首先,让我们回顾一下 Oracle 中 `DECODE` ...
这是因为CASE WHEN可以产生多个结果行,所以通常需要与GROUP BY或聚合函数如MAX结合使用,以确保正确地分组和汇总数据。 Oracle SQL提供了一些特殊功能来处理数据。例如,DECODE函数可以用于根据特定条件返回不同值...