MSSQLÓÐ ÀàËÆÓÚ SPLITµÄº¯ÊýÂð£¿
ÈçÌâ- -¡«
ÎÒÓÐÕâô¸ö¶«Î÷
Ò»¸ö
×Ö·û´®ÈçÏÂËùʾ
1,2,3,4,5
È»ºóÎÒ
ÐèҪѻ·µÄ°Ñ ÕâЩÊý¾Ý²åÈëµ½Êý¾Ý¿âÖÐ
ÎÒ¸ÃÔõô×ö£¿
http://blog.csdn.net/htl258/archive/2009/09/09/4533846.aspx
SQL code:
ÎÒÏÖÔÚÓÐÒ»×Ö¶ÎֵΪ:a,b,c
·Ö¸ô·ûΪ¶ººÅ.
ÎÒÏÖÔÚÏëʵÏÖÄ¿µØÖµÎª:
×Ö¶Î:
id name
1 a
2 b
3 c
ÔÚSQLÖÐզʵÏÖÄØ?
declare @str varchar(8000)
set @str = 'a1,b1,c2,d1,e3,f5'
set @str = 'select name='''+replace(@str,',',''''+' union all select ''')+''''
exec(@str)
¿ÉÒÔ×Ô¼º´´½¨Ò»¸öº¯Êý
SQL code:
create function f_split(@str varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
as
begin
declare @i int
set @str=rtrim(ltrim(@str))
set @i=charindex(@StrSeprate,@str)
while @i>=1
begin
insert @temp values(left(@str,@i-1))
set @str=substring(@str,@i+1,len(@str)-@i) --µ±È»,ÕâÀïÄúÒ²¿ÉÒÔ¸ÄдΪSTUFF,¿ÉÒÔ×Ô¼ºÊÔןÄдһÏÂ
set @i=charindex(@StrSeprate,@str)
end
if @str<>'\'
insert @temp values(@str)
return
end
--Ó÷¨£ºselect * from dbo.f_split('A:B:C:D:E',':')
ÇëÎÊÒ»ÏÂ
Èç¹ûÏë²åÈëÖ¸¶¨ÁÐ
¸ÃÈçºÎ×ö£¿
--ÕâÖÖ·½Ê½2000ÓÃÑ»
Ïà¹ØÎÊ´ð£º
ÈçÌ⣬Óû§×¢²áʱ£¬Óû§ÃûÊDz»ÄÜÖØ¸´µÄ£¬ÈçºÎÅжϲåÈëµÄ¼Ç¼²»Öظ´ÄØ£¿
Çë¿´Çå³þÎÒµÄÌâÄ¿£¬²»Òª´ÓÍøÉϳһЩ´ð°¸¹ýÀ´£¬ÍøÉϺܶàÈËдµÄÏÈselectÔÙinsertµÄ¶¼ÊÇϹ³¶£¬Ñ¹¸ù¾Íû¿¼Âǵ½²¢·¢ÐÔÎÊÌ⣬ÎÒÏÖÔÚ²»Ïë¼ÓÉÏÐòÁл¯ ......
ÒѾ¼ÜÉèºÃÁËÓÎÏ·£¬ÄÜÔËÐÐÁË£¡¡¾ÓÎÏ·²»ÊÇÎÒ×öµÄËùÒÔÀïÃæµÄÔ´ÂëʲôµÄ¶¼²»´óÇå³þ¡¿ÓÎϷʹÓõÄÊý¾Ý¿âÊÇMSSQLµÄ¡£
ÏëÓÃÍøÕ¾ÊµÏÖÔÚÍøÒ³ÖÐ×¢²áÕ˺ÅÀ´²åÈëµ½Ö¸¶¨µÄMSsqlÓû§±íÖÐ! ÒÔ±ã´ïµ½ÔÚÍøÕ¾×¢²áÁËÕ˺źóÄÜÔÚÓÎÏ·ÀïÃæ ......
ÎÒÔÀ´ÊÇÓÉaccessת³ÉmssqlµÄ..ÔÀ´µÄ×ÔÔö×Ô¶¯Ã»ÓÐÁË
ÎÒÔõôÓÃsqlÀ´×ª»¯ÄØ£¿£¨²»ÏëÔÚÆóÒµÃæ°å¹ÜÀíÖÐ¸Ä ±íÌ«¶à..£©
»¹ÓÐsmalldateµÄĬÈÏÖµ¸Ä³Égetdate()µÄÓï¾äÒªÔõôд..ллÁË
accessת³ÉmssqlµÄ..ÔÀ´µÄ×ÔÔö×Ô¶ ......
»ù´¡±íA¡¢BÈçͼ£¬ÓÉÓÚÒ»ÌõÐÂÎÅÖпÉÄÜÓжàÕÅͼƬ£¬ËùÒÔBÖлá³öÏÖ¶à¸öͼƬ±àºÅ¶ÔÒ»¸öÐÂÎűàºÅµÄÇé¿ö¡£
Çó´´½¨C±í£¨ÊÓͼ£©µÄsqlÓï¾ä¡£
SQL code:
select
b.pictureid as ͼƬ±àºÅ,a.newstitle as ÐÂÎűêÌâ,a.n ......