zoukankan      html  css  js  c++  java
  • TSQL中case语句的两种写法及区别

    T-SQL中的case语句相信大家一定不陌生,但是它有2种写法,如下:

    写法一:

    case 变量
          when 值1 then..
          when 值2 then..
          else ..
    end
     
    写法二:

    case
          when 逻辑表达式 then
          -- true的情况
          else
          -- false的情况
    end

    如果是二叉分支,笔者建议写法二

    因为,如果遇到null的情况,则必须使用写法二!!

     

     举个联合更新的例子

    场景:把表一中某个日期根据情况更新成加上表二中另外一个日期,如果表二中的日期没有,则

    加上默认值1。

    如下:

    1 update a
    2  set a.field3 = dateadd(yearcase when b.field2 is null then 1 else b.field2   end, a.field1)
    3 from table1 a inner join table2 b
    4 on a.ID = b.ID
    5 where --other conditions

    以上该情况,如果使用写法一,null的情况很可能判断不出来!!

  • 相关阅读:
    MongoDB
    Flask-Migrate
    Flask-Script
    Flask-SQLAlchemy
    SQLAlchemy
    DBUtils
    依存句法分析
    如何将本地的jar包上传到maven本地仓库中
    git使用手册
    中文网页编解码问题
  • 原文地址:https://www.cnblogs.com/davidgu/p/1510358.html
Copyright © 2011-2022 走看看