• 注意TransactSQL中Case函数的两种用法导致不同的结果集


    SELECT  A.GCMC AS FNAME,A.JSDW AS FOWNER,case
    when b.fid  IS NULL then -1 else b.fid end  as farea,

    a.CONTENT AS FCONTENT,A.UPDATETIME AS FTIME,NULL AS FHREF,A.DELETED AS  FISDEL

     FROM Z_bidding A LEFT JOIN CCIC_AREA B ON charindex(b.fname,a.areaid)>0



    SELECT  A.GCMC AS FNAME,A.JSDW AS FOWNER,case  b.fid
    when  NULL then -1 else b.fid end  as farea
    ,
    a.CONTENT AS FCONTENT,A.UPDATETIME AS FTIME,NULL AS FHREF,A.DELETED AS  FISDEL

     FROM Z_bidding A LEFT JOIN CCIC_AREA B ON charindex(b.fname,a.areaid)>0

    执行的结果是不一样的

    A.使用带有简单 CASE 函数的 SELECT 语句

    USE AdventureWorks;
    GO
    SELECT   ProductNumber, Category =
          
    CASE ProductLine
             
    WHEN 'R' THEN 'Road'
             
    WHEN 'M' THEN 'Mountain'
             
    WHEN 'T' THEN 'Touring'
             
    WHEN 'S' THEN 'Other sale items'
             
    ELSE 'Not for sale'
          
    END,
       Name
    FROM Production.Product
    ORDER BY ProductNumber;
    GO


    B.使用带有简单 
    CASE 函数和 CASE 搜索函数的 SELECT 语句

    USE AdventureWorks;
    GO
    SELECT   ProductNumber, Name, 'Price Range' = 
          
    CASE 
             
    WHEN ListPrice =  0 THEN 'Mfg item - not for resale'
             
    WHEN ListPrice < 50 THEN 'Under $50'
             
    WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
             
    WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
             
    ELSE 'Over $1000'
          
    END
    FROM Production.Product
    ORDER BY ProductNumber ;
    GO
  • 相关阅读:
    Reverse Bits
    Jump Game
    Valid Palindrome
    【计算几何初步-线段相交】【HDU1089】线段交点
    【数位DP】【HDU2089】不要62
    【二分图最大匹配】【HDU2063】过山车
    【分割平面,分割空间类题】【HDU1290 HDU2050】
    【特殊的图+DP】【11月校赛】大家一起玩游戏
    【考虑周全+数学变形】【11月赛】Is it a fantastic matrix?
    【进制问题】【HDU2056】A + B Again
  • 原文地址:https://www.cnblogs.com/xiang/p/511968.html
Copyright © 2020-2023  润新知