Çë½ÌSQLÓï¾äselect ÕûÊý inµÄÓ÷¨
select id from mytable where @id in £¨1£¬2£¬3£©
´íÎóÏÔʾÊǽ«1£¬2£¬3ת»»³ÉÕûÊýʱ³ö´í¡£
id±äÁ¿Ê±intÐ͵ģ¬ÇëÎÊselect inÔõôÓÃÄØ£¿
select id from mytable where @id in £¨1£© ÕâÑù¾Í ²»»áÓдíµÄ£¬Ôõô»á³öÏÖÕâÖÖÇé¿öÄØ
£¨1,2,3£©ÓÃÓ¢ÎĵĶººÅ
·ûºÅ´íÁË£¡
Ö»ÊÇ·ûºÅ´íÁËÂð£¬Èç¹ûÕâÑù¾ÍºÃÁË
Ó¦¸ÃÊÇÕâ¸öÑù×ÓµÄ
ÎÒÓõĺÃÏñ¾ÍÊÇÓ¢ÎÄ·ûºÅ£¬ÏÖÔÚÍø°É£¬Ò²Ã»·¨ÖªµÀÊDz»ÊÇÖ»ÓÐÕâ¸öÔÒò
µÈÎÒ»ØÈ¥¿´¿´£¬Ã÷Ìì¸ø´ó¼Ò´ð¸´
SQL code:
exec('select id from mytable where '+@id+' in £¨1£¬2£¬3£©')
À¨ºÅºÍ¶ººÅ¶¼ÒªÓÃÓ¢Îĵġ¡
select id from mytable where id in £¨1£¬2£¬3£©¶ººÅÓÃÓ¢ÎÄÊäÈë·¨£¬ÕâÊÇÔÚÊý¾Ý¿âÖеÄÖ´ÐеÄÓï¾ä
declare @id varchar(100),@sql varchar(200)
set @sql='select id from mytable where '+@id+' in £¨1£¬2£¬3£©'
exec(@sql)
cast(@id as varchar)
in Öжà¸öÊý×Ö, ¿ÉÒÔÓÃ(@id1, @id2, @id3)
¶àл´ó¼ÒµÄ»Ø´ð£¬ÎÒ¿´ÁË£¬ÎÒÓõľÍÊÇÓ¢ÎÄ¡£´íÎóÎÒû˵Çå³þ——
Ò»£¬ÎÒµÄidÊÇintÐ͵ģ¬Èç¹ûÓÃset @sql='select *from mytable where '+@id+' in (1,2,3)'£¬»áÌáʾ½«'select * from mytable where'ת»»³Éintʱ´íÎó¡£
¶þ£¬Èç¹ûÎÒÓÃ×÷ÕâÑùselect *from mytable where @id in (1,2,3),Ôò²»»áÓдíÎó¡£
Ïà¹ØÎÊ´ð£º
ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º
......
³¡¾°ÈçÏ£º
¿Í»§°Ñ±¸·ÝºÃµÄÊý¾Ý¿â£¬·¢¸øÎÒ£¬ÎÒÔÚ±¾»ú»¹Ôºó£¬ÔËÐÐдºÃµÄ´æ´¢¹ý³Ì£¬±È½Ï¿ì£¬²¢ÇÒÔÚʵʩÄDZßÔËÐÐͬÑù±È½Ï¿ì¡£µ«Êǵ±ÊµÊ©ÔÚ¿Í»§ÄDZßÔËÐеÄʱºòËٶȾͷdz£µÄÂý£¬Ê±¼ä³¬³öÁ˳ÌÐòµÄʱ¼äÏÞÖÆ¡£Ô¶³ÌÔÚ¿Í»§ÄÇ ......
½ñÌì×öÁËÒ»¸ö´æ´¢¹ý³Ì »·¾³ÊÇSQL2000Êý¾Ý¿â
´óÖÂÈçÏÂ
½¨Á¢ÁÙʱ±í
¶¨ÒåÔ±¹¤Óαê
Ñ»·Ô±¹¤£¨ÊôÓÚ1¸ö¹«Ë¾)
......
СµÜ£¬×î½üҪתÐÐÈ¥×öoracle¿ª·¢ÁË£¬ÓÉÓÚ´óѧ±Ïҵʱ£¬×ßÁ˸öÍä·£¬ÏÖÔÚºÜСÐÄ£¬ÎÊÏ£¬×öPL/SQLÓÐûÓÐǰ;£¿£¿£¿
µ±È»ÎÒ˵µÄÕâ¸öǰ;ÊÇÖ¸ ÒÔºóÒªÌø²Û£¬Êг¡¶ÔÕâÑùµÄÈ˲ŵÄÐèÇóÁ¿´ó²»´ó£¿£¿
3q ÄÇ¿´À´»¹Ö»ÄÜÏȽӴ ......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£©
tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname
½á¹û£º
µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......