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
  • 相关阅读:
    云存储研发工程师(40-50万)
    数据分析师(50-70万)
    云计算-资深java研发
    云计算 -- 资深python开发
    公众号”IT高薪猎头“
    51内核mcu实现printf的一种方法
    一种基于蓝牙BLE无线控制的灯光系统的解决方案
    Ecx后台增加新菜单+新数据表+新bundle完整过程
    Ecx 生成swagger文档
    ecshopx-manage管理后台本地编译设置本地API
  • 原文地址:https://www.cnblogs.com/xiang/p/511968.html
Copyright © 2011-2022 走看看