case when在sql中用法,sql中的case when

case when在sql中用法,sql中的case when,sql 中 case when 语法使用方法 sql中有没有类似C语言中switch case的语句? 不,只是用case when代替。 例如,下面的语句将中文年和月复制代码显示如下:select getdate()作为日期,CASE month(getdate())when 11 then ' eleven when 12 then '十二' else子串('一二三四五六七八九十',month(getdate())),1) end' month '作为月的大小写可能是SQL中误用最多的。虽然您以前可能使用过这个关键字来创建字段,但是它有更多的用途。例如,您可以在WHERE子句中使用CASE。 首先,我们来看看CASE的语法。在一般的SELECT中,语法如下:复制代码code如下:SELECT my column spec=case when a then something a when b then something b else something e end在上面的代码中,需要用具体的参数替换尖括号中的内容。下面是一个简单的例子:复制代码如下:USE pubs GO SELECT Title,' Price Range'=CASE当价格为空时,然后是' Unpriced '当价格为10时,然后是' Bargain '当价格介于EN 10和20之间时,然后是' Average' ELSE '给亲戚留下深刻印象的礼物end from titles order by price go这是CASE的典型用法,但实际上可以用CASE做更多事情。说出以下GROUP BY子句中的情况:复制代码如下:选择“标题数”,Count(*) FROM titles GROUP BY CASE当价格为空时,然后选择“未定价”当价格为10时,然后选择“讨价还价”当价格介于EN 10和20之间时,然后选择“平均”否则,选择“给im Press亲属的礼物”END GO您甚至可以组合这些选项并添加ORDER BY子句,如下所示, 复制代码如下:当价格为空时使用pubs go select case,当价格为10时“未定价”,当价格在10和20之间时“讨价还价”,当价格在10和20之间时“平均”el SE“礼物以打动亲戚”END作为范围,当价格为空时从标题分组标题然后“未定价”,当价格为10时“讨价还价”,当价格在en 10和20之间时“平均”ELSE“礼物以打动亲戚”END, Title ORDER BY CASE当价格为空时,然后是“未定价”当价格为10时,然后是“讨价还价”当价格介于EN 10和20之间时,然后是“平均”否则是“给亲戚留下深刻印象的礼物”END,Title GO注意,为了逐块分组使用CASE,查询语句需要在SELECT block in GROUP BY block中重复CASE块。 除了选择自定义字段,CASE在很多情况下非常有用。如果再进一步,还可以得到以前认为不可能的分组排序结果集。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: