sql×Ö·û·Ö¸îÎÊÌâ
ÔÚ´æ´¢¹ý³ÌÀï
create procedure [up_test]
(
@str varchar(1000) ---´«Èë@str = '1@2@3@4@5'
)
AS
--------------ÎÒÐèÒª°Ñ@strÒÔ'@'·Ö¸î£¬È»ºóÑ»·²åÈëtb±íÀïµÄa×Ö¶Î
GO
SQL code:
declare @str varchar(8000)
set @str = '1@2@3@4@5'
set @str = 'select name='''+replace(@str,'@',''''+' union all select ''')+''''
exec(@str)
/*name
----
1
2
3
4
5
(5 ÐÐÊÜÓ°Ïì)*/
Ŷ Íü¼Ç»¹ÓÐÒ»¸ö²ÎÊýµÄ»°
@code
@str
Òª°Ñ@str·Ö¸îºóµÄÖµºÍ@code(ÿ´Î²åÈë@code¶¼Ò»ÑùµÄ)Ñ»·ÕâÑù²åÈë±íA
SQL code:
create procedure [up_test]
(
@str varchar(1000) ---´«Èë@str = '1@2@3@4@5'
)
AS
--------------ÎÒÐèÒª°Ñ@strÒÔ'@'·Ö¸î£¬È»ºóÑ»·²åÈëtb±íÀïµÄa×Ö¶Î
begin
select @str = 'insert into tb(a) select '''+replace(@str,'@',''' union all select ''')+''
exec(@str)
end
SQL code:
create procedure [up_test]
(
@str varchar(1000) ---´«Èë@str = '1@2@3@4@5'
)
AS
--------------ÎÒÐèÒª°Ñ@strÒÔ'@'·Ö¸î£¬È»ºóÑ»·²åÈëtb±í
Ïà¹ØÎÊ´ð£º
select convert(varchar(50),cast(convert(numeric(18,2),1275674000000/100000000)as real))+'ÒÚ'
select cast(convert(numeric(18,2),1275674000000/100000000)as real)
ΪʲôÉÏÒ»¸öÓÃvarcharת»»ºó¾ÍÖ»±£ÁôÁËÒ ......
ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º
......
ÎÒµÄTblworkbill±íµÄÊý¾ÝÈçÏÂ:
id workbillno ..................
1 1
2 6
3 a1
4 c2
5 2
6 aa
7 ......
³¡¾°ÈçÏ£º
¿Í»§°Ñ±¸·ÝºÃµÄÊý¾Ý¿â£¬·¢¸øÎÒ£¬ÎÒÔÚ±¾»ú»¹Ôºó£¬ÔËÐÐдºÃµÄ´æ´¢¹ý³Ì£¬±È½Ï¿ì£¬²¢ÇÒÔÚʵʩÄDZßÔËÐÐͬÑù±È½Ï¿ì¡£µ«Êǵ±ÊµÊ©ÔÚ¿Í»§ÄDZßÔËÐеÄʱºòËٶȾͷdz£µÄÂý£¬Ê±¼ä³¬³öÁ˳ÌÐòµÄʱ¼äÏÞÖÆ¡£Ô¶³ÌÔÚ¿Í»§ÄÇ ......