当前位置 > 首页 > Sql

【SQL】请教case when vs isnull+nullif使用经验?

9/8/2012 10:24:00 AM来源:Sql

SQL 2008。

请先看一个例子:

select case col when 0 then 0 else 2 end from tb;--col字段只会有两个值,0和1,现在希望当col=1时,返回2,为0则不变(以便其它地方按位组合)

select isnull(nullif(col,1),2) from tb;

经常写语句的同仁可能会发现这俩句式在很多场景是能互换的,但一直对它们的性能没谱,到底哪一种要好些,求解答。

另外,附一个问题:1,2,4,8……这样可以按位组合的项,给定一个结果,如何判定某一项是否包含其中?例如:结果为7,一眼就能看出它是1+2+4的组合,12则是4+8的组合,那如何通过公式/算法确定某项是否包含在结果中呢?




  • MySQL数据库的导入导出

    2/11/2011 8:10:00 PM

    M ySQL数据库的导入导出,有两种方法: ? ? ? ? ?1) 先导出数据库 SQL 脚本,再导入。 ? ? ? ? ?2) 直接拷贝数据库目录和文件。在不同操作系统或MySQL版本情况下,

  • Google面向中国、日本、韩国推出中秋节Logo

    10/3/2009 9:16:00 AM

    中秋节起源于 中国 ,是 东亚 民间的一个传统 节日 ,为每年 农历 的 八月十五 。中秋节不单单是华人的节日,受中华文化的影响,中秋节也是 日本 、 越南 、 朝鲜半岛 等地的传统节日。 按照中国

  • Google被评为2008年信誉度最好的IT企业

    5/1/2009 9:58:00 AM

    根据Harris Interactive刚刚评出的美国2008年企业信誉度排名,从整体上来看,科技类企业在大众心目中的地位很高, Google 、索尼、亚马逊和微软等都取得了较好的名次。 此次调查选

  • 您开启了运行SQL语句功能。请修改config.inc.php关闭

    9/28/2010 8:23:00 PM

    $admincp[runquery] = 1; // 是否允许后台运行 SQL 语句 1=是 0=否[安全] 出于安全考虑, Discuz! 后台默认情况下禁止 SQL 语句直接执

  • 安装SQL的过程

    9/1/2010 8:19:00 PM

    很久没有用到这个软件,仿佛有些陌生,现在我就来整整:顺便上传到我们刘的空间里 第一步:双击安装软件,选择安装数据库服务器 进入 第二步:后需要我输入注册码,H6TWQ-TQQM

  • pl/sql连接时报错 SQL*Net not properly installed OracleHomeKey...

    1/23/2011 1:51:00 PM

    今天新装了oracle 打开pl/ sql 时报出了这个错误 SQL *Net not properly installed OracleHomeKey: ?本机上需要安装oracle cl

  • sqlplus spool中的格式调整

    11/17/2010 5:43:00 PM

    注:对于spool最好能够自己进行格式调整,而不用spool中提供的 “set colsep | ” 使用这个语句会出现不确定性,自己导出一下看下就知道了 spool常用的设置 set cols

  • mysql 常用语句

    4/14/2011 11:36:00 AM

    关键字: 1.导出整个数据库? mysqldump -u 用户名 -p password 数据库名 > 导出的文件名 mysqldump -u root -p password myda

  • Google推出Domestic Trends 监测美国经济动态

    9/4/2009 6:01:00 PM

    Google 于周四(9/3)在旗下的 Google 财经频道( Google Finance) 推出 美国国内动态( Google Domestic Trends )功能,透过追踪特定经济领

  • 如何使用Microsoft SQL Server Migration Assistant将Access Database迁移到SQL server?

    2/21/2012 2:33:00 PM

    如何使用Microsoft SQL Server Migration Assistant将Access Database迁移到SQL server?