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结尾呢!
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
1.通过工具DTS的设计器进行导入或导出
DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行SQL Server数据库中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Enterprise Manager中,展开服务器左边的+,选择数据库,右击,选择All tasks/Import ......
转自:http://tech.ddvip.com/2007-05/117955341625057.html
检查各种变化
我在设计数据库的时候会考虑到哪些数据字段将来可能会发生变更。比方说,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,我倾向于在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止 ......
1、SQL是一种说明性语言,不是过程化语言。类似“检索->检查->插入->更新”的过程化步骤的顺序是没有意义的。应该以行集的方式思考,以描述一个逻辑的语言方式思考。
2、在设计数据库表字段时,一个行描述应该包含一个事实,而且是全部事实。例如考勤卡的设计,
不要设计为:[ userId, puchTime, even ......