原来的oracle
select t.ttid,o.organname,
t.targettrain,
t.creator,
DateText(t.TTEnd) as DateRange, //这是自定义的函数
decode(tg.finishedMode, 1, '已达标', '未达标') as passmode,
decode(t.AllowView, 1, '允许', '不允许') as AllowView
from tbTargetTrain t inner join tborgan o on o.organid=t.organid
left join Tbttgrade tg on t.ttid = tg.ttid
and tg.userid =1
where (sysdate between t.TTBegin and t.TTEnd)
and t.TargetType = '0'
and exists (select 1 from vttuser01 where userid=1)
and tg.finishedMode ='0' ;
order by tg.finishedMode desc Nulls last,t.datecreated desc; // Nulls last 只支持oracle待修改
---------------------------------------------------
翻译成mysql后
select t.ttid,o.organname,
t.targettrain,
t.creator,
t.TTEnd as DateRange,
case tg.finishedMode when 1 then '已达标' else '未达标' end as passmode,
case t.AllowView when 1 then '允许' else '不允许' end as AllowView
from tbTargetTrain t inner join tborgan o on o.organid=t.organid
left join Tbttgrade tg on t.ttid = tg.ttid
and tg.userid =1
where (sysdate() between t.TTBegin and t.TTEnd)
and t.TargetType = '0'
# and exists (select 1 from vttuser01 where userid=1) 因为有视图先搁置再议
and tg.finishedMode ='0' ;
-------------------------------------------
decode(t.AllowView, 1, '允许', '不允许')
decode()的第一个参数是 别名是t表的一个字段,第二个是字段的值,如果是值是1,字段值换成'允许',如果不是1,就换成'不允许'。
分享到:
相关推荐
在阅读博客文章《decode函数与case when 的妙用》时,作者可能分享了一些具体的示例和使用技巧,帮助我们更好地理解和掌握这两种方法。通过学习和实践,我们可以将这些知识应用于日常的数据库操作,优化数据处理流程...
1. **DECODE函数** Oracle的`DECODE`函数是一种条件判断函数,它可以用于对数据进行简单的多值比较和返回。在自定义排序场景中,`DECODE`函数可以将不同的字段值映射到对应的排序值。以下是一个例子: ```sql ...
### Oracle的DECODE函数详解 #### 一、DECODE函数简介 在Oracle数据库中,`DECODE`函数是一种非常实用的条件判断函数,其功能类似于编程语言中的`IF`语句。通过比较输入值与一系列预设值,该函数能够根据匹配情况...
在实际工作中,你可能还需要结合其他SQL函数,如CASE WHEN或NVL,来进一步增强DECODE的功能。例如,当你需要处理可能的NULL值时,NVL函数可以提供一个默认值,防止因NULL而导致的结果异常。 总之,Oracle的DECODE...
Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...
### ORACLE DECODE函数在中国式报表统计查询中的组合条件实现 #### 一、引言 在Oracle数据库中,`DECODE`函数是一种非常实用的功能,主要用于条件判断并返回不同的值。它经常被用来进行简单的条件分支处理,尤其...
`CASE WHEN` 与 `DECODE()` 函数相似,但因其符合 ANSI 标准而更受推荐使用。 #### 二、基本结构 `CASE WHEN` 语句的基本结构如下: ```sql CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ...
DECODE()函数是Oracle特有的,它可以作为CASE WHEN的替代品,但不支持复杂的条件: ```sql SELECT decode(sex, 'M', 'Male', 'F', 'Female', 'Unknown') FROM employees; ``` 尽管如此,DECODE()在某些情况下可能更...
首先,尝试使用DECODE函数。DECODE函数允许我们根据指定的条件返回不同的值。例如,DECODE(ZY_TYPE, '国家特色专业', '国特', '省示范专业', '省示', '其他')。但是,这种方法并不适合本例,因为它不能有效地处理...
无论是使用CASE语句、DECODE函数还是PIVOT操作符,关键在于理解数据结构和转换需求,选择最合适的工具来实现转换。这些技能对于高效处理和分析复杂数据集至关重要,尤其是在IT行业中,掌握这些技能将大大提高数据...
在提供的内容中,通过DECODE函数实现了工资的区间判断显示,使用CASE语句完成了加薪规则的计算,还演示了如何使用UNION、INTERSECT和MINUS进行集合操作。这些知识点展示了Oracle在数据处理方面的灵活性和高效性,...
在Oracle中,可以使用SQL的CASE语句或者DECODE函数来实现行转列。例如,在提供的描述中,我们看到一个例子是将学生的语文和数学分数从行转换为了列。 ```sql SELECT student AS '姓名', SUM(CASE name WHEN '语文'...
**Informatica PowerCenter V8 函数功能使用指南** 在数据集成和ETL(提取、转换、加载)领域,Informatica PowerCenter是一款强大的工具,它提供了丰富的函数库来处理各种数据处理任务。本指南将深入介绍V8版本中...
CASE WHEN 函数的语法为 CASE WHEN condition THEN result [ WHEN condition THEN result ... ] ELSE result END,其中 condition 是条件,result 是执行的结果。 SIGN 函数 SIGN 函数是一个数学函数,用于返回一...
1. 使用 CASE 函数和 DECODE 函数实现条件选择 Oracle 提供了两种函数来实现条件选择,即 CASE 函数和 DECODE 函数。CASE 函数可以根据条件选择不同的值,DECODE 函数可以根据条件选择不同的值或表达式。 示例: `...
* Case 函数的语法结构:CASE expression WHEN value THEN result [WHEN value THEN result]* END * Decode 函数的语法结构:DECODE expression search result [search result]* * Case 与 Decode 的使用场景:数据...
另外,也可以使用DECODE函数来简化代码,实现相同的功能: ```sql SELECT last_name, salary, salary * DECODE( TRUNC(salary / 1000), 0, 0, 1, 0.1, 2, 0.15, 3, 0.2, 0.2 ) AS tax_amount FROM ...
- 对于复杂的查询逻辑,可以使用子查询或嵌套函数来实现。 - 了解函数的性能特点,合理选择函数以提高查询效率。 - 利用函数组合解决更复杂的问题,例如通过组合日期函数计算两个日期之间的天数等。 通过以上知识点...
Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置函数是其核心优势之一。在Oracle函数大全中,我们涵盖了各种类型的功能,包括数学、字符串处理、日期时间操作、逻辑判断以及转换函数等,...