• 注意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
  • 相关阅读:
    2018.09.08什么是ajax
    2018.09.03怎样让网页自适应所有屏幕宽度
    2018.08.25字符串和二维数组之间的转换
    2018.08.20MySQL常用命令总结(二)
    2018.08.15解决MySQL1290问题
    2018.08.13MySQL常用命令总结(一)
    2018.08.11MySQL无法启动错误码1067的解决方法
    2018.08.10 css中position定位问题
    2018.08.10jQuery导航栏置顶
    2018.08.07css实现图片放大
  • 原文地址:https://www.cnblogs.com/xiang/p/511968.html
Copyright © 2020-2023  润新知