Tag:case when select
case when一般是放在select里面或者where里面的,用来动态生成某些字段用的。
1、看一个例子:
select (select domain_text_${def:locale} from t_domain where namespace=( case when (${fld:ticketcate}='0' )then 'Inquiry_Category1' when (${fld:ticketcate}='1' )then 'Challenge_Category1' when (${fld:ticketcate}='2' )then 'Advice_Category1' else '' end) and domain_value = tc.category1) as category1 from table_a
2、case when甚至更强大,可以在里面嵌套SELECT语句,看一个例子:
select case when nvl((select isshowdownload from t_staff where userlogin='admin002'),'')='1' then '<input type="button" name="downloadbtn" onclick="downloadthisticket(this)" value="下载" class="cmd" style="display: inline;" >' else '<input type="button" name="downloadbtn" onclick="downloadthisticket(this)" value="下载" class="cmd" style="display: inline;" disabled >' end as download, cc_cue_inquiry.createdby as createdby,cc_cue_inquiry.created as created,cc_cue_inquiry.contact as contact,cc_cue_inquiry.subdealtime as subdealtime,(select d.domain_text_cn from t_domain d where d.namespace='TICKETCATEGORY' and d.domain_value = cc_cue_inquiry.ticketcategory limit 1) as ticketcategory,cc_cue_inquiry.tuid as tuid,(select d.domain_text_cn from t_domain d where d.namespace='CUEDealStatus' and d.domain_value = cc_cue_inquiry.deal_status limit 1) as deal_status from ${table}
3、如果有一个需求,当字段A包含中国这2个字时,将其显示为中国万岁,否则按原样输出,写法:
SELECT case when LOCATE('bankCardNumber',request)>0 then SUBSTR(request,LOCATE('bankCardNumber',request)+15,19) when LOCATE('pan',request)>0 then SUBSTR(request,LOCATE('pan',request)+4,16) when LOCATE('cardNo',request)>0 then SUBSTR(request,LOCATE('cardNo',request)+7,19) end as '卡号' ,operator as '绑卡者',operate_time as '绑卡时间', case when result_msg is null then '绑卡成功' else result_msg end as '绑卡结果' FROM tb_pay_record_log WHERE operator IN( '吴桥' )
观察代码中的else 后面的result_msg,直接写原字段名,这样就可以将它原样输出了。
refurl:http://www.cnblogs.com/traceman/archive/2007/03/14/673954.html
相关推荐
### Oracle CASE WHEN 用法详解 #### 一、概述 在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`...
### Case When 用法 在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件...
1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex ... CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 代码如下:SELECT grade, COUNT (CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位
以下是对CASE关键字在SQL Server中不同用法的详细解释: 1. **在SELECT语句中的基本用法**: CASE表达式通常在SELECT语句中用来根据特定条件为数据列创建新的计算字段。例如,你可以根据书籍的价格范围给价格打...
MySQL是世界上最受欢迎的关系型数据库管理系统之一,其性能优化对于任何依赖于它的应用程序来说都是至关重要的。以下是从"MySQL性能优化的最佳21条经验"中提取的一些关键知识点: 1. **索引优化**:索引是提升查询...
下面我们将深入探讨`switch`和`case`的用法,并基于提供的代码片段进行详细解释。 首先,`switch`语句通常包含一个表达式,该表达式的结果将被用来匹配`case`子句中的常量。在示例中,这个表达式是`n`,它存储了...
标题《Case_When用法》为我们提供了一个深入学习SQL中Case表达式使用方法的契机。在SQL中,Case表达式是一个条件分支结构,允许在查询中进行条件判断,并基于条件返回不同的结果。该表达式分为两种格式:简单Case...
本文档介绍了SQL中case...when的用法。
SUM(CASE WHEN sex = '1' THEN population ELSE 0 END) AS male_population, SUM(CASE WHEN sex = '2' THEN population ELSE 0 END) AS female_population FROM Table_A GROUP BY country; ``` 2. **数据清洗...
在这个实例中,我们将深入理解如何使用CASE WHEN,并通过几个具体的例子来演示其用法。 首先,我们来看一个简单的使用CASE WHEN进行字符串替换的例子。在这个示例中,我们有一个名为sales的表,其中包含了category...
SQL 中 Case 用法 Case 语句是 SQL 中一种强大的语句,用于根据不同的条件执行不同的操作。它可以用来实现复杂的逻辑操作,并且可以与其他 SQL 语句结合使用以实现更加复杂的查询。 SQL 中 Case 语句有两种格式:...
在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...
Sql_Case_When用法用例[参考].pdf
SQL__case_when_then_的用法
该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不...
在SQL Server中,`CASE WHEN` 语句是一种强大的逻辑表达式,用于处理基于不同条件的复杂查询。在多条件模糊查询中,`CASE WHEN` 可以避免在...了解并熟练掌握`CASE WHEN` 的用法,可以提升SQL编程的灵活性和实用性。
### CASE的用法 (Transact-SQL) #### 概述 `CASE` 是 Transact-SQL 中一个非常重要的关键字,用于根据不同的条件返回不同的结果。它支持两种主要的格式:简单表达式和搜索表达式。这两种格式都能有效地帮助开发者...
简单CASE语句主要用于比较一个表达式(case_expression)与一系列预定义的值(when_expression)。基本语法如下: ```sql CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 ...
SUM(CASE WHEN sex = '1' THEN population ELSE 0 END) AS male_population, SUM(CASE WHEN sex = '2' THEN population ELSE 0 END) AS female_population FROM Table_A GROUP BY country; ``` 这里,`CASE` ...