sqlÓïÑÔÖеÄcase when £¨À´×ÔÎÒ×ð¾´µÄһλÀÏʦСF£©
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'
&n
Ïà¹ØÎĵµ£º
Ê×ÏȼÆËã»úÉϱØÐë°²×°oracle£¬²¢ÅäÖú÷þÎñÃû
°²×°oracleµÄ¹ý³ÌÖÐÒ»°ã»áÒªÇó½¨Á¢Ò»¸öÊý¾Ý¿â£¬Ò²¿ÉÒÔÖ®ºóÔÙ´´½¨
Õâ¸öºóÃæÓÐÒ»¸ö Êý¾Ý¿âÅäÖÃÖúÀí £¨´´½¨ÐÞ¸ÄÊý¾Ý¿âµÄ£¬Ò»°ãÃÜÂë´´½¨ÒªÇó×Öĸ¿ªÍ·£¬´óÓÚ7λɶµÄ£©ºÍÒ»¸önetÅäÖÃÖúÀí£¨Ìí¼Ó»òÕßÐÞ¸ÄÒ»¸öÊý¾Ý¿â·þÎñÃû£©£¬Ò»°ãÓÃplsql developerÔ¶³Ì²Ù×÷oracleÊý¾Ý¿â ......
bit£º0»ò1µÄÕûÐÍÊý×Ö
int£º´Ó-2^31(-2,147,483,648)µ½2^31(2,147,483,647)µÄÕûÐÍÊý×Ö
smallint£º´Ó-2^15(-32,768)µ½2^15(32,767)µÄÕûÐÍÊý×Ö
tinyint£º´Ó0µ½255µÄÕûÐÍÊý×Ö
decimal£º´Ó-10^38µ½10^38-1µÄ¶¨¾«¶ÈÓëÓÐЧλÊýµÄÊý×Ö
numeric£ºdecimalµÄͬÒå´Ê
money£º´Ó-2^63(-922,337,203,685,477.5808)µ½2^ ......
ÏîÄ¿ÖÕÓÚ½áÊøÁË£¬×ܽáµÄʱºòµ½ÁË... hehe :)
ÔÚÏîÄ¿ÖÐÎÒÃÇÓöµ½Á˺ܶàµÄÎÊÌ⣬±ê×¼SQLʹÓþÍÊÇÆäÖÐÒ»¸ö¡£ ÒòΪÎÒÃÇÔÚ×öBI packageµÄʱºò£¬Ò»¿ªÊ¼¶¼ÊÇ»ùÓÚMS SQL À´×öµÄ£¬ËùÒÔUniverseµÄÉè¼ÆÉÏҲûÓÐÌ«¶àµÄ¿¼ÂÇ¡£ µ±ºóÀ´ÀÏ´ó¸æËßÎÒÅ ......
JavaÊý¾ÝÀàÐÍ
HibernateÊý¾ÝÀàÐÍ
±ê×¼SQLÊý¾ÝÀàÐÍ
byte
byte
TINYINT
short
short
SMALLINT
int
integer
INGEGER
long
long
BIGINT
float
float
FLOAT
double
double
DOUBLE
java.math.BigDecimal
big_decimal
NUMERIC
char, java.lang.Character
character
CHAR(1)
boolean, java.lang.Boole ......
--SQL ËÙ²éÊÖ²á
/*******************************************/
SELECT
--ÓÃ;£º´ÓÖ¸¶¨±íÖÐÈ¡³öÖ¸¶¨ÁеÄÊý¾Ý
--Óï·¨£º
SELECT column_name(s) from table_name
--Ö÷Òª×Ö¾ä¿ÉժҪΪ:
SELECT select_list [INTO new_table]
from table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING s ......