SQL之 case when then
视图查询中怎样将原定于如性别sex 这样的字段,字段值为0,1这样的int类型值,查询时直接返回varchar
型的字符‘男’,‘女’以便于我们读取呢?
有人会想到if …else…这样的语句,可是怎么加,都不知道加哪里,因为总是会出错。其实sql中有一个函数能解决这样的查询读取值的问题。那就是下
面要介绍的 Case 函数了。
Case 是计算条件列表并返回多个可能的结果表达式之一。
Case 有两种格式:
简单 Case 函数将某个表达式与一组简单表达式进行比较以确定结果。
Case 搜索函数计算一组布尔表达式以确
定结果。
两种格式均支持可选的 ELSE 参数。
语法
1. CASE
input_expression
WHEN
when_expression
THEN
result_expression
[
...n
] [ELSE else_result_expression
] END
2. CASE
WHEN
Boolean_expression
THEN
result_expression
[ ...n
] [
ELSE else_result_expression
] END
例子
1.语法实例:
SELECT Name,Age,CASE Gender WHEN 1 THEN '女' WHEN 2 THEN '男' ELSE
'未填' END AS Genders from dbo.Contacter_Detail
2. 语法实例:
SELECT Name,Age,CASE WHEN Gender = 1 THEN '女' WHEN .Gender = 2
THEN '男' ELSE '未填' END AS Genders,
from dbo.Contacter_Detail
两者返回的结果是一样。很简单,一定记住后面表达式后面有个END结尾呢!
相关文档:
对同一张表进行两种方式查询(结果集相同):
case1 查询条件:包括计算机名,昵称,添加时间等等一些限制条件字段。而且需联表查询别的表
查询数据量: 100万 200万
单纯执行SQL语句所需时间:31毫秒&nbs ......
1、表操作。
1.1 现有表增加字段
alter table TableName add
columnName1 varchar(2) NULL,
columnName2 varchar(2) NULL,
columnName3 varchar(2) NULL
注意:不用加Colu ......
以前学习了SQL相关方面的知识,对也能相对熟练使用SQL,但随着进一步的使用,发现自己似乎又什么都不懂,因为自己只知道如何使用,不知道使用的是什么原理,这样的也只能说是一个熟练使用工,现在重新学习一遍,希望在别人问我之所以然的时候,也能回答个一二三。
一、区别事务与普通程序的特征通常缩写为ACID性质
原子性 ......
Oracle SQL与ANSI SQL区别
相信大家都使用过SQL SERVER。今天给大家简单介绍一下Oracle SQL与ANSI SQL区别。其实,SQL SERVER与与ANSI SQL也有区别。
1、首先大家要明白什么是ANSI
ANSI:美国国家标准学会(American National Standards Institute)。当时,美国的许多企业和专业技术团体,已开始了标准化工作,但因彼 ......
SELECT * from ALL_SOURCE
where TYPE='PROCEDURE' AND TEXT LIKE
'%0997500%';
--查询ALL_SOURCE中,(脚本代码)内容与0997500模糊匹配的类型为PROCEDURE(存储过程)的信息。
根据GROUP
BY TYPE
该ALL_SOURCE中只有以下5种类型
1 FUNCTION
2 JAVA
SOURCE
3 PACKAGE
4 P ......