Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

sql ÖÐ case when Óï·¨

sqlÓïÑÔÖÐÓÐûÓÐÀàËÆCÓïÑÔÖеÄswitch caseµÄÓï¾ä£¿£¿
  ûÓÐ,ÓÃcase   when   À´´úÌæ¾ÍÐÐÁË.   
       
  ÀýÈç,ÏÂÃæµÄÓï¾äÏÔʾÖÐÎÄÄêÔ  
   
  select   getdate()   as   ÈÕÆÚ,case   month(getdate())  
  when   11   then   'ʮһ'  
  when   12   then   'Ê®¶þ'  
  else   substring('Ò»¶þÈýËÄÎåÁùÆß°Ë¾ÅÊ®',   month(getdate()),1)  
  end+'ÔÂ'   as   Ô·Ý
=====================================================================
CASE ¿ÉÄÜÊÇ SQL Öб»ÎóÓÃ×î¶àµÄ¹Ø¼ü×ÖÖ®Ò»¡£ËäÈ»Äã¿ÉÄÜÒÔǰÓùýÕâ¸ö¹Ø¼ü×ÖÀ´´´½¨×ֶΣ¬µ«ÊÇËü»¹¾ßÓиü¶àÓ÷¨¡£ÀýÈ磬Äã¿ÉÒÔÔÚ WHERE ×Ó¾äÖÐʹÓà CASE¡£

Ê×ÏÈÈÃÎÒÃÇ¿´Ò»Ï CASE µÄÓï·¨¡£ÔÚÒ»°ãµÄ SELECT ÖУ¬ÆäÓï·¨ÈçÏ£º

SELECT <myColumnSpec> =
CASE
WHEN <A> THEN <somethingA>
WHEN <B> THEN <somethingB>
ELSE <somethingE>
END

ÔÚÉÏÃæµÄ´úÂëÖÐÐèÒªÓþßÌåµÄ²ÎÊý´úÌæ¼âÀ¨ºÅÖеÄÄÚÈÝ¡£ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó£º

USE pubs
GO
SELECT
     Title,
    'Price Range' =
    CASE
        WHEN price IS NULL THEN 'Unpriced'
        WHEN price < 10 THEN 'Bargain'
        WHEN price BETWEEN 10 and 20 THEN 'Average'
        ELSE 'Gift to impress relatives'
    END
from titles
ORDER BY price
GO

ÕâÊÇ CASE µÄµäÐÍÓ÷¨£¬µ«ÊÇʹÓà CASE Æäʵ¿ÉÒÔ×ö¸ü¶àµÄÊÂÇé¡£±È·½ËµÏÂÃæµÄ GROUP BY ×Ó¾äÖÐµÄ CASE£º

SELECT 'Number of Titles', Count(*)
from titles
GROUP BY
    CASE
        WHEN price IS NULL THEN 'Unpriced'
        WHEN price < 10 THEN 'Bargain'
 &nb


Ïà¹ØÎĵµ£º

SQLѧϰʹÓÃ

SQL²Ù×÷È«¼¯
ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£
SQL·ÖÀࣺ
DDL—Êý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML—Êý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL—Êý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)
Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE ......

SQLÓï¾ä ´´½¨±í

1.¶¨Òå»ù±¾±íÓï¾ä
    Óï·¨£º
    USE Êý¾Ý¿âÃû CREATE TABLE ±íÃû (ÁÐÃû ÀàÐÍ(´óС) DEFAULT'ĬÈÏÖµ',
                            & ......

PL/SQLÓû§Ö¸ÄÏÓë²Î¿¼ PL/SQLÓ¦ÓóÌÐòÐÔÄܵ÷ÓÅ£¨×ª£©

µÚÊ®¶þÕ PL/SQLÓ¦ÓóÌÐòÐÔÄܵ÷ÓÅ
1¡¢PL/SQLÐÔÄÜÎÊÌâµÄÔµÓÉ
Ó¦»ùÓÚPL/SQLµÄÓ¦ÓóÌÐòÊ©ÐÐЧÂʵÍÏÂʱ£¬Í¨³£ÊÇÒòΪ²»ºÃµÄSQL»°Óï¡¢±à³Ì²½Ö裬¶ÔPL/SQL»ù´¡ÕÆÎÕÔã¸â»òÊÇÂÒÓù²ÏíÄÚ´æ´¢Æ÷´Ù³ÉµÄ¡£
•PL/SQLÖв»ºÃµÄSQL»°Óï
PL/SQL±à³Ì¿´ÉÏÈ¥Ïà¶ÔÕսϼòµ¥£¬ÓÉÓÚËüÃǵĸ´ÔÓÄÚÈݶ¼ÑÚ²ØÔÚSQL»°ÓïÖУ¬SQL»°Óï¾­³£·Öµ£´óÁ¿µÄ ......

SQL ServerÖÐCASEµÄÓ÷¨


    ÒÔǰ¶ÔÓÚSql ServerÖÐCaseÃüÁîµÄÓ÷¨Ò»Ö±²»ÊǺÜÁ˽⣬½ñÌìͨ¹ýÉÏÍø²éÁËһЩ×ÊÁÏ£¬½«Case»ù±¾µÄÓ÷¨×ܽáһϡ£
CaseÃüÁîÓÐÁ½ÖÖÓï·¨£º 
A£©CASE<ÔËËãʽ>
WHEN <ÔËËãʽ> THEN <ÔËËãʽ>
……
WHEN <ÔËËãʽ> THEN <ÔËËãʽ>
[ELSE<ÔËËãʽ> ......

SQLÓï¾äÖÐNULLµÄÕæÊµº¬Òå

NULL£¬±íʾ²»Ã÷È·¡¢Î´ÖªµÄÁÐÖµ
²âÊÔ±í£ºtestnull(id varchar(32))
Êý¾Ý¿â£ºSybase ASA11.0
ÐÐÊý¾Ý(''), (NULL)
Êý¾Ý¿âÑ¡ÏîansinullΪtrue(Ò²ÊÇASAÊý¾Ý¿âµÄĬÈÏÑ¡Ïî)ʱ£¬
select * from testnull where id = null
select * from testnull where id != null
½á¹û¾ùΪ¿Õ
select * from testnull where id is null
½á¹ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ