首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

快下班了 紧急提问,该如何解决

2012-05-11 
快下班了 紧急提问我的表里有一列为数字 1,2,3,4 等请问如何快速的将数字换成对应顺序的字母 例如 1→A2→B3

快下班了 紧急提问
我的表里有一列为数字 1,2,3,4 等 请问如何快速的将数字换成对应顺序的字母 例如 1→A 2→B 3→C等
谢谢先

[解决办法]

SQL code
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,
[解决办法]
帮你把两边的逗号去年,自己封装个函数调就可以了,实际用过这种方法,效率比循环高。
SQL code
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

SQL code
select case col           when 1 then 'A'          when 2 then 'B'          when 3 then 'C'          when 4 then 'D'        endfrom tb
[解决办法]
探讨
如果只有1-4,使用case when


SQL code

select case col
when 1 then 'A'
when 2 then 'B'
when 3 then 'C'
when 4 then 'D'
end
from tb




也可以使用as……

热点排行