case when then else
来源:互联网 发布:沪江网校软件下载 编辑:程序博客网 时间:2024/04/19 17:54
首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下:
SELECT <myColumnSpec> = |
在pubs数据库的authors表中,根据作者来自州的名字,打印作者的姓名和州的全名:
USE pubs GO SELECT '作者'= CASE state WHEN 'CA' THEN '加利弗里亚' WHEN 'KS' THEN '堪萨斯' WHEN 'TN' THEN '田纳西' ELSE '其他州' END, au_fname+'.'+au_lname AS au_name FROM authors ORDER BY state GO |
上面需要column= A<字段值>,下面的<A>指的是一个表达式,这样灵活性更强:
SELECT <myColumnSpec> = |
在pubs数据库的titles表中,根据不同价格范围,打印价格状况(自定义字段):
USE pubs |
这都是 CASE 的典型用法,但是使用 CASE 其实可以做更多的事情。比方说下面的 GROUP BY 子句中的 CASE:
SELECT 'Number of Titles', Count(*) |
你甚至还可以组合这些选项,添加一个 ORDER BY 子句,如下所示:
USE pubs |
注意,为了在 GROUP BY 块中使用 CASE,查询语句需要在 GROUP BY 块中重复 SELECT 块中的 CASE 块。
除了选择自定义字段之外,在很多情况下 CASE 都非常有用。再深入一步,你还可以得到你以前认为不可能得到的分组排序结果集。
- case when then else
- case when then else
- case when then else
- case when then else
- case when then else end
- case when then else end
- case when then else end
- case+when+then+else+end
- case when then else end
- sql case when then else
- case when then else end
- case when then else end
- case .. when .. then .. else .. end
- case when then else end
- Oracle case when then else
- case when then else end
- Case when then else end
- case when then else end
- 行为型之观察者模式
- 在.NET中操作XML(二)
- 进度条的进度
- 飞人博尔特
- 提取汉字首字母工具类
- case when then else
- 希望这个秋天一切顺心(KK记)
- 留几个好用的美国的不被劫持的DNS服务器地址
- USB几个描述符的联系
- 判断用户是否登录 及 解决用户重复登录问题
- 删除树中的父节点
- 可输入下拉框(完美版),asp.net
- 行为型之访问者模式
- Flex截图,上传到Aspx