一座城池

成功就是不懈的努力加上一点点机会,努力是加法,机会是乘法,两者兼备才会得到最大的结果!
当前位置 - 首页 - SQLServer - SQL语句中case when的日常用法

SQL语句中case when的日常用法

2014/11/27 10:22:31  发表于:2014/11/27 10:22:31  SQLServer 次浏览 
字体大小切换:

首先,可能很多不经常写sql语句的开发人员可能对case when有点陌生,估计会用得很少。但是这种语法用起来也是很方便的,所以今天教大家怎么灵活使用。




CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE

 首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下:

SELECT <myColumnSpec> = 
CASE 
WHEN <A> THEN <somethingA> 
 WHEN <B> THEN <somethingB> 
ELSE <somethingE> 
END

在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子:

SELECT  GETDATE() AS 日期 ,
        CASE MONTH(GETDATE())
          WHEN 11 THEN '十一'
          WHEN 12 THEN '十二'
          ELSE SUBSTRING('一二三四五六七八九十', MONTH(GETDATE()), 1)
        END + '月' AS 月份

得到的结果就是:

再比如这种,根据字段的长度,输出字段多少位的

DECLARE @str VARCHAR(50)
SET @str='1234'
SELECT CASE LEN(@str) 
WHEN 3 THEN substring(@str,1,1)
WHEN 4 THEN substring(@str,1,2) END

这些 都是一些case when的最基本的用法。如果想要更好的了解和使用case when,那就要多多练习,只有在实践中才能掌握的更快!!


关键字:
下一篇::亲,已经是最后一篇了!

发表评论共有0访客发表了评论

    暂无评论,快来抢沙发吧!

我来说几句吧

验证码: 看不清楚?
Top