SQL语句中Case 的用法

如题所述

第1个回答  2013-11-18
Select Case 语句在有多个可能的条件必须被检查时使用。与 If 语句不同,Select Case语句在找到匹配的Case 表达式并执行了Case 表达式和下一个Case 表达式之间的语句后将立即跳出。如果没有匹配的Case 表达式,将执行其它语句。

Case Else 与lse 的意义相同。

Case 语句能接受各种类型的(作为判断条件的)表达式。表达式可以是单一值、由逗号分隔的一组值、能返回值的函数、用"To"关键字指定的值的范围或者使用"Is"关键字对等式或不等式进行测试。您可以连接不同类型的不同表达式,只要将它们用逗号分开即可。
第2个回答  2013-11-18
不用CASE WHEN 的做法。源代码如下:

string sql="select * from CONTACTPERSON ,CUSTOMER where CONTACTPERSONID='"+strContactid+"' and CONTACTPERSON.CUSTOMERID=CUSTOMER.CUSTOMERID";
DataSet ds=new DataSet();
ds=Common.GetDSCommon(sql);

if(ds.Tables[0].Rows[0]["CONTACTPERSONSEX"].ToString()=="0")
{
ds.Tables[0].Rows[0]["CONTACTPERSONSEX"]="男";
}
else
{
ds.Tables[0].Rows[0]["CONTACTPERSONSEX"]="女";
}

使用CASE WHEN做法。

string sql="select CUSTOMER.*,CONTACTPERSON.CONTACTPERSONNAME,CONTACTPERSON.CONTACTPERSONBIRTHDAY,CONTACTPERSON.CONTACTPERSONPOSITION,CONTACTPERSON.CONTACTPERSONDEPTNAME,";
sql+="CONTACTPERSON.TELEPHONE,CONTACTPERSON.MAIL,CONTACTPERSON.CITY,CONTACTPERSON.PROVINCE,CONTACTPERSON.POSTCODE,CONTACTPERSON.COUNTRY,CONTACTPERSON.MEMO,";
sql+="CONTACTPERSON.DIRECTOR,";

sql+="case when CONTACTPERSON.CONTACTPERSONSEX = '0'then '男' when CONTACTPERSON.CONTACTPERSONSEX= '1' then '女' end as CONTACTPERSONSEX from CUSTOMER ,CONTACTPERSON where CONTACTPERSONID='"+strContactid+"' and CONTACTPERSON.CUSTOMERID=CUSTOMER.CUSTOMERID";
可以看出这样明显加长了,SQL语句,这样做有什么好处呢?不太清楚,可能会提高效率吧。大家的看法呢?本回答被网友采纳

在SQL语句中, CASE、 WHEN和THEN的用法有哪些?
1. CASE语句的基本结构:CASE语句用于在SQL查询中进行条件判断。其基本结构包括一个简单的CASE表达式和多个WHEN...THEN...子句。CASE表达式中的值会与每一个WHEN子句中的条件进行比较,直到找到匹配的条件,然后执行相应的THEN子句中的操作或返回相应的值。2. WHEN和THEN的用法:每一个WHEN子句后面跟随一...

SQL中的CASE表达式有什么用?
1. 转换统计方式在需要对数据进行区域划分统计时,CASE表达式能帮助我们将城市数据转换为如“浙东”、“浙南”等区域。例如,通过调整城市编号,我们可以轻松实现区域统计。2. 条件分支操作CASE表达式在SELECT语句中用于为数据添加标签,如根据面积大小为城市分类,是SQL处理分组条件的重要手段。3. 更新操作中...

SQL进阶技巧——CASE表达式全解!
1. CASE表达式基础CASE表达式有两种写法,简单和搜索,后者更灵活。注意WHEN子句的排他性,避免语句混淆。在统计时,CASE能便捷地转换编号格式并按地区统计人口。2. 转换与统计利用CASE,可以快速统计地区人口,例如将北海道到冲绳的编号转换为东北、关东等区域,而无需创建大量视图。3. 多条件统计与分类一...

SQL:搞懂case语句,看这篇就可以啦!
CASE 语句允许在 SQL 查询中根据给定条件返回不同结果。基本语法如下:Part2 - 探索常见用例 简单的 CASE 语句**与简单值比较,根据条件返回特定结果。CASE 语句判定**评估多个条件,返回第一个满足的条件结果。CASE 与 WHERE 子句结合**使用 CASE 对数据进行过滤,根据特定条件筛选结果。CASE 与聚合函...

SQL 中 CASE 表达式的常见用法
SQL中的CASE表达式是自SQL-92标准引入的重要工具,它灵活运用各种谓词,如BETWEEN、LIKE、,以及子查询的IN和EXISTS,为数据处理提供了极大的便利。CASE表达式分为简单和搜索两种形式,通过WHEN子句条件匹配,实现精确的数据分类和转换。然而,应注意WHEN子句的条件排他性,以避免逻辑混淆。例如,当需要对员工...

一文讲懂SQL条件语句CASE函数
今天要深入解析SQL条件语句中的CASE函数,它在处理多分类时能提升代码可读性。在处理多类别划分时,CASE函数与嵌套IF函数有相似作用,但CASE语法更清晰。CASE函数的基本结构如下:以一个实际案例为例,假设在Students表中,学生编号Sid小于等于3的属于1班,Sid为4到6的属于2班,而大于等于7的属于3班。

case表达式用法
让我们深入探讨CASE表达式的用法:1. **CASE表达式的返回值**:CASE表达式返回一个确定的值。如果没有ELSE部分,且所有条件都不匹配,则返回NULL。与PL\/SQL不同,若未指定ELSE,且所有条件均未匹配,则会引发CASE_NOT_FOUND异常。2. **CASE表达式的条件和值类型一致性**:在CASE表达式的WHEN子句中,...

SQL高级知识——CASE
CASE函数是SQL中的高级知识,分为两种格式:简单CASE函数与CASE搜索函数。它们主要实现相同功能,但在特定条件下优势明显。简单CASE函数语法为CASE column WHEN THEN value WHEN THEN value ... ELSE value END,其适用于单字段、单值比较。CASE搜索函数的语法为CASE WHEN [,] THEN value WHEN [,] THE...

三分钟搞懂SQL的Case函数
SQL的Case函数在数据库操作中扮演着关键的判断角色,它与代码中的if...else结构相似,但功能有所区别。以下是Case函数的几个主要应用和它们之间的差异。1. 语法与功能Case函数分为普通和搜索两种类型。普通case适用于简单的条件判断,如等值比较;而搜索case则更为灵活,支持子查询、In运算符和范围条件,...

SQL语句中Case 的用法
Select Case 语句在有多个可能的条件必须被检查时使用。与 If 语句不同,Select Case语句在找到匹配的Case 表达式并执行了Case 表达式和下一个Case 表达式之间的语句后将立即跳出。如果没有匹配的Case 表达式,将执行其它语句。Case Else 与lse 的意义相同。Case 语句能接受各种类型的(作为判断条件的)...

相似回答