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
¸ù¾ÝÕâ¸ö¹ú¼ÒÈË¿ÚÊý¾Ý£¬Í³¼ÆÑÇÖ޺ͱ±Ã ......
¿Î³Ì½éÉÜ
SQL Server 2008ÊÇ΢ÈíµÄ×îÐÂÊý¾Ý¿âϵͳ,ÆäÔÚÔÓÐSQL Server 2005µÄ»ù´¡ÉÏ,½øÐÐÁËÖØ´óµÄ¸Ä½ø¡£±¾¿Î³Ì½«´Óά»¤Ó뿪·¢Á½¸ö·½Ãæ½øÐнÏϵͳµØ½²Êö£¬Ê¹Ñ§Ô±Äܹ»ÊìÁ·Ê¹ÓÃSQL Server 2008¿ª·¢Ç¿½¡µÄÊý¾Ý¿âÓ¦Óá£
Êʺ϶ÔÏó
Êý¾Ý¿â¹ÜÀí»ò¿ª·¢ÈËÔ±
¿Î³Ì³¤¶È
5Ì죨20ѧʱ£©
¿Î³Ì´ó¸Ù
°²×°ÓëÅäÖÃSQL Server 2008
´´½¨Êý¾Ý¿âºÍÊý¾Ý¿âÎļþ
´´½¨Êý¾ÝÀàÐͺÍÊý¾Ý±í
ʹÓÃXMLÐÂÌØÐÔ
¹æ»®¡¢´´½¨ºÍÓÅ»¯Ë÷Òý
ʹÓÃÔ¼Êø¡¢´¥·¢Æ÷ºÍXML¼Ü¹¹ÊµÊ©Êý¾ÝÍêÕûÐÔ
ʵÏÖÊÓͼ¡¢´æ´¢¹ý³ÌºÍº¯Êý
ÔÚÊý¾Ý¿âÖÐʵÏÖÍйܴúÂë±à³Ì£¨CLR£©
ʹÓÃService Broker¹¹½¨»ùÓÚÏûÏ¢µÄ½â¾ö·½°¸
¹ÜÀí°²È«
Ö´ÐйÜÀíÈÎÎñ
±¸·ÝÓ뻹ÔÊý¾Ý¿â
¼à¿ØÊý¾Ý¿â
´«ÊäÊý¾Ý
ʵÏָ߿ÉÓÃÐÔ
......
--1:ÎÞORDER BYÅÅÐòµÄд·¨¡£(ЧÂÊ×î¸ß)
--(¾¹ý²âÊÔ£¬´Ë·½·¨³É±¾×îµÍ£¬Ö»Ç¶Ì×Ò»²ã£¬ËÙ¶È×î¿ì£¡¼´Ê¹²éѯµÄÊý¾ÝÁ¿ÔÙ´ó£¬Ò²¼¸ºõ²»ÊÜÓ°Ï죬ËÙ¶ÈÒÀÈ»£¡)
SELECT *
from (Select ROWNUM AS ROWNO, T.*
from k_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060731', 'yyyymmdd')
AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= 10;
--2:ÓÐORDER BYÅÅÐòµÄд·¨¡£(ЧÂÊ×î¸ß)
--(¾¹ý²âÊÔ£¬´Ë·½·¨Ëæ×Ųéѯ·¶Î§µÄÀ©´ó£¬ËÙ¶ÈÒ²»áÔ½À´Ô½ÂýŶ£¡)
SELECT *
from (SELECT TT.*, ROWNUM AS ROWNO
from (Select t.*
&nbs ......
--1:ÎÞORDER BYÅÅÐòµÄд·¨¡£(ЧÂÊ×î¸ß)
--(¾¹ý²âÊÔ£¬´Ë·½·¨³É±¾×îµÍ£¬Ö»Ç¶Ì×Ò»²ã£¬ËÙ¶È×î¿ì£¡¼´Ê¹²éѯµÄÊý¾ÝÁ¿ÔÙ´ó£¬Ò²¼¸ºõ²»ÊÜÓ°Ï죬ËÙ¶ÈÒÀÈ»£¡)
SELECT *
from (Select ROWNUM AS ROWNO, T.*
from k_task T
where Flight_date between to_date('20060501', 'yyyymmdd') and
to_date('20060731', 'yyyymmdd')
AND ROWNUM <= 20) TABLE_ALIAS
WHERE TABLE_ALIAS.ROWNO >= 10;
--2:ÓÐORDER BYÅÅÐòµÄд·¨¡£(ЧÂÊ×î¸ß)
--(¾¹ý²âÊÔ£¬´Ë·½·¨Ëæ×Ųéѯ·¶Î§µÄÀ©´ó£¬ËÙ¶ÈÒ²»áÔ½À´Ô½ÂýŶ£¡)
SELECT *
from (SELECT TT.*, ROWNUM AS ROWNO
from (Select t.*
&nbs ......
SQL½ØÈ¡×Ö·û´®
SUBSTRING
·µ»Ø×Ö·û¡¢binary¡¢text »ò image ±í´ïʽµÄÒ»²¿·Ö¡£ÓйؿÉÓë¸Ãº¯ÊýÒ»ÆðʹÓõÄÓÐЧMicrosoft SQL Server Êý¾ÝÀàÐ͵ĸü¶àÐÅÏ¢£¬Çë²Î¼ûÊý¾ÝÀàÐÍ¡£
Óï·¨
SUBSTRING ( expression , start , length )
²ÎÊý
expression
ÊÇ×Ö·û´®¡¢¶þ½øÖÆ×Ö·û´®¡¢text¡¢image¡¢Áлò°üº¬Áеıí´ïʽ¡£²»ÒªÊ¹Óðüº¬¾ÛºÏº¯ÊýµÄ±í´ïʽ¡£
start
ÊÇÒ»¸öÕûÊý£¬Ö¸¶¨×Ó´®µÄ¿ªÊ¼Î»Öá£
length
ÊÇÒ»¸öÕûÊý£¬Ö¸¶¨×Ó´®µÄ³¤¶È£¨Òª·µ»ØµÄ×Ö·ûÊý»ò×Ö½ÚÊý£©¡£
¾ÙÀý£º
select substring('600|900',1,CHARINDEX('|','600|900')-1)
select substring('600|900',CHARINDEX('|','600|900')+1,len('600|900'))
·Ö±ðÊä³ö£º600 900
'600|900'ÓñäÁ¿Ìæ»» ......
ÊìϤSQL SERVER 2000µÄÊý¾Ý¿â¹ÜÀíÔ±¶¼ÖªµÀ£¬ÆäDTS¿ÉÒÔ½øÐÐÊý¾ÝµÄµ¼Èëµ¼³ö£¬Æäʵ£¬ÎÒÃÇÒ²¿ÉÒÔʹÓÃTransact-SQLÓï¾ä½øÐе¼Èëµ¼³ö²Ù×÷¡£ÔÚTransact-SQLÓï¾äÖУ¬ÎÒÃÇÖ÷ҪʹÓÃOpenDataSourceº¯Êý¡¢OPENROWSET º¯Êý£¬¹ØÓÚº¯ÊýµÄÏêϸ˵Ã÷£¬Çë²Î¿¼SQLÁª»ú°ïÖú¡£ÀûÓÃÏÂÊö·½·¨£¬¿ÉÒÔÊ®·ÖÈÝÒ×µØÊµÏÖSQL SERVER¡¢ACCESS¡¢EXCELÊý¾Ýת»»£¬Ïêϸ˵Ã÷ÈçÏ£º
Ò»¡¢SQL SERVER ºÍACCESSµÄÊý¾Ýµ¼Èëµ¼³ö
³£¹æµÄÊý¾Ýµ¼Èëµ¼³ö£º
ʹÓÃDTSÏòµ¼Ç¨ÒÆÄãµÄAccessÊý¾Ýµ½SQL Server£¬Äã¿ÉÒÔʹÓÃÕâЩ²½Öè:
¡ð1ÔÚSQL SERVERÆóÒµ¹ÜÀíÆ÷ÖеÄTools£¨¹¤¾ß£©²Ëµ¥ÉÏ£¬Ñ¡ÔñData Transformation
¡ð2Services£¨Êý¾Ýת»»·þÎñ£©£¬È»ºóÑ¡Ôñ czdImport Data£¨µ¼ÈëÊý¾Ý£©¡£
¡ð3ÔÚChoose a Data Source£¨Ñ¡ÔñÊý¾ÝÔ´£©¶Ô»°¿òÖÐÑ¡ÔñMicrosoft Access as the Source£¬È»ºó¼üÈëÄãµÄ.mdbÊý¾Ý¿â(.mdbÎļþÀ©Õ¹Ãû)µÄÎļþÃû»òͨ¹ýä¯ÀÀѰÕÒ¸ÃÎļþ¡£
¡ð4ÔÚChoose a Destination£¨Ñ¡ÔñÄ¿±ê£©¶Ô»°¿òÖУ¬Ñ¡ÔñMicrosoft OLE DB Prov ider for SQL Server£¬Ñ¡ÔñÊý¾Ý¿â·þÎñÆ÷£¬È»ºóµ¥»÷±ØÒªµÄÑéÖ¤·½Ê½¡£
¡ð5ÔÚSpecify Table Copy£¨Ö¸¶¨±í¸ñ¸´ÖÆ£©»òQuery£¨²éѯ£©¶Ô»°¿òÖУ¬µ¥»÷Copy tabl ......
ÊìϤSQL SERVER 2000µÄÊý¾Ý¿â¹ÜÀíÔ±¶¼ÖªµÀ£¬ÆäDTS¿ÉÒÔ½øÐÐÊý¾ÝµÄµ¼Èëµ¼³ö£¬Æäʵ£¬ÎÒÃÇÒ²¿ÉÒÔʹÓÃTransact-SQLÓï¾ä½øÐе¼Èëµ¼³ö²Ù×÷¡£ÔÚTransact-SQLÓï¾äÖУ¬ÎÒÃÇÖ÷ҪʹÓÃOpenDataSourceº¯Êý¡¢OPENROWSET º¯Êý£¬¹ØÓÚº¯ÊýµÄÏêϸ˵Ã÷£¬Çë²Î¿¼SQLÁª»ú°ïÖú¡£ÀûÓÃÏÂÊö·½·¨£¬¿ÉÒÔÊ®·ÖÈÝÒ×µØÊµÏÖSQL SERVER¡¢ACCESS¡¢EXCELÊý¾Ýת»»£¬Ïêϸ˵Ã÷ÈçÏ£º
Ò»¡¢SQL SERVER ºÍACCESSµÄÊý¾Ýµ¼Èëµ¼³ö
³£¹æµÄÊý¾Ýµ¼Èëµ¼³ö£º
ʹÓÃDTSÏòµ¼Ç¨ÒÆÄãµÄAccessÊý¾Ýµ½SQL Server£¬Äã¿ÉÒÔʹÓÃÕâЩ²½Öè:
¡ð1ÔÚSQL SERVERÆóÒµ¹ÜÀíÆ÷ÖеÄTools£¨¹¤¾ß£©²Ëµ¥ÉÏ£¬Ñ¡ÔñData Transformation
¡ð2Services£¨Êý¾Ýת»»·þÎñ£©£¬È»ºóÑ¡Ôñ czdImport Data£¨µ¼ÈëÊý¾Ý£©¡£
¡ð3ÔÚChoose a Data Source£¨Ñ¡ÔñÊý¾ÝÔ´£©¶Ô»°¿òÖÐÑ¡ÔñMicrosoft Access as the Source£¬È»ºó¼üÈëÄãµÄ.mdbÊý¾Ý¿â(.mdbÎļþÀ©Õ¹Ãû)µÄÎļþÃû»òͨ¹ýä¯ÀÀѰÕÒ¸ÃÎļþ¡£
¡ð4ÔÚChoose a Destination£¨Ñ¡ÔñÄ¿±ê£©¶Ô»°¿òÖУ¬Ñ¡ÔñMicrosoft OLE DB Prov ider for SQL Server£¬Ñ¡ÔñÊý¾Ý¿â·þÎñÆ÷£¬È»ºóµ¥»÷±ØÒªµÄÑéÖ¤·½Ê½¡£
¡ð5ÔÚSpecify Table Copy£¨Ö¸¶¨±í¸ñ¸´ÖÆ£©»òQuery£¨²éѯ£©¶Ô»°¿òÖУ¬µ¥»÷Copy tabl ......
1.
Ä£ºý²éѯЧÂʺܵͣº
ÔÒò£º
like
±¾ÉíЧÂʾͱȽϵͣ¬Ó¦¸Ã¾¡Á¿±ÜÃâ²éѯÌõ¼þʹÓÃ
like
£»¶ÔÓÚ
like ‘%...%’
£¨È«Ä£ºý£©ÕâÑùµÄÌõ¼þ£¬ÊÇÎÞ·¨Ê¹ÓÃË÷ÒýµÄ£¬È«±íɨÃè×ÔȻЧÂʺܵͣ»ÁíÍ⣬ÓÉÓÚÆ¥ÅäËã·¨µÄ¹ØÏµ£¬Ä£ºý²éѯµÄ×ֶ㤶ÈÔ½´ó£¬Ä£ºý²éѯЧÂÊÔ½µÍ¡£
½â¾ö°ì·¨£ºÊ×ÏȾ¡Á¿±ÜÃâÄ£ºý²éѯ£¬Èç¹ûÒòΪҵÎñÐèÒªÒ»¶¨ÒªÊ¹ÓÃÄ£ºý²éѯ£¬ÔòÖÁÉÙ±£Ö¤²»ÒªÊ¹ÓÃȫģºý²éѯ£¬¶ÔÓÚÓÒÄ£ºý²éѯ£¬¼´
like ‘…%’
£¬ÊÇ»áʹÓÃË÷ÒýµÄ£»×óÄ£ºý
like
‘%...’
ÎÞ·¨Ö±½ÓʹÓÃË÷Òý£¬µ«¿ÉÒÔ
ÀûÓÃreverse + function index
µÄÐÎʽ£¬±ä»¯³É like
‘…%’
£»È«Ä£ºýÊÇÎÞ·¨ÓÅ»¯µÄ£¬Ò»¶¨ÒªµÄ»°¿¼ÂÇÓÃËÑË÷ÒýÇæ¡£³öÓÚ½µµÍÊý¾Ý¿â·þÎñÆ÷µÄ¸ºÔØ¿¼ÂÇ£¬¾¡¿ÉÄܵؼõÉÙÊý¾Ý¿âÄ£ºý²éѯ¡£
2.
²éѯÌõ¼þÖк¬ÓÐ
is null
µÄ
select
Óï¾äÖ´ÐÐÂý
ÔÒò£º
Oracle 9i
ÖУ¬²éѯ×Ö¶Î
is null
ʱµ¥Ë÷ÒýʧЧ£¬ÒýÆðÈ«±íɨÃè¡£
½â¾ö·½·¨£º
SQL
Óï·¨ÖÐʹÓÃ
NULL
»áÓкܶàÂé·³£¬
×îºÃË÷ÒýÁж¼ÊÇNOT NULL
µÄ£»¶ÔÓÚis null
£¬¿ÉÒÔ½¨Á¢×éºÏË÷Òý£¬nvl(
×Ö¶Î,0),
¶ ......