日期:2014-05-18 浏览次数:20448 次
DECLARE @STR VARCHAR(50) SELECT @STR='2,26,13,7,37' SELECT REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ','+@STR+',' ,',1,',',A,'),',2,',',B,'),',3,',',C,'),',4,',',D,'),',5,',',E,'),',6,',',F,'),',7,',',G,') ,',8,',',H,'),',9,',',I,'),',10,',',J,'),',11,',',K,'),',12,',',L,'),',13,',',M,'),',14,',',N,') ,',15,',',O,'),',16,',',P,'),',17,',',Q,'),',18,',',R,'),',19,',',S,'),',20,',',T,'),',21,',',U,') ,',22,',',V,'),',23,',',W,'),',24,',',X,'),',25,',',Y,'),',26,',',Z,') --,B,Z,M,G,37,
------解决方案--------------------
帮你把两边的逗号去年,自己封装个函数调就可以了,实际用过这种方法,效率比循环高。
DECLARE @STR VARCHAR(50) SELECT @STR='2,26,13,7,37' SELECT LEFT(STUFF( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ','+@STR+',' ,',1,',',A,'),',2,',',B,'),',3,',',C,'),',4,',',D,'),',5,',',E,'),',6,',',F,'),',7,',',G,') ,',8,',',H,'),',9,',',I,'),',10,',',J,'),',11,',',K,'),',12,',',L,'),',13,',',M,'),',14,',',N,') ,',15,',',O,'),',16,',',P,'),',17,',',Q,'),',18,',',R,'),',19,',',S,'),',20,',',T,'),',21,',',U,') ,',22,',',V,'),',23,',',W,'),',24,',',X,'),',25,',',Y,'),',26,',',Z,') ,1,1,'') ,LEN(STUFF( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ','+@STR+',' ,',1,',',A,'),',2,',',B,'),',3,',',C,'),',4,',',D,'),',5,',',E,'),',6,',',F,'),',7,',',G,') ,',8,',',H,'),',9,',',I,'),',10,',',J,'),',11,',',K,'),',12,',',L,'),',13,',',M,'),',14,',',N,') ,',15,',',O,'),',16,',',P,'),',17,',',Q,'),',18,',',R,'),',19,',',S,'),',20,',',T,'),',21,',',U,') ,',22,',',V,'),',23,',',W,'),',24,',',X,'),',25,',',Y,'),',26,',',Z,') ,1,1,''))-1) --B,Z,M,G,37
------解决方案--------------------
如果只有1-4,使用case when
select case col when 1 then 'A' when 2 then 'B' when 3 then 'C' when 4 then 'D' end from tb
------解决方案--------------------