zoukankan      html  css  js  c++  java
  • 注意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
  • 相关阅读:
    noip模拟赛 软件software
    bzoj1070: [SCOI2007]修车
    bzoj2947: [Poi2000]促销
    bzoj2940: [Poi2000]条纹
    bzoj3714: [PA2014]Kuglarz
    bzoj3717: [PA2014]Pakowanie
    说明
    Hello World!
    牛客网PAT练兵场-旧键盘打字
    牛客网PAT练兵场-锤子剪刀布
  • 原文地址:https://www.cnblogs.com/xiang/p/511968.html
Copyright © 2011-2022 走看看