是否可以将int映射到SQL Server中的字符串?

时间:2019-05-16 17:12:46

标签: sql sql-server

我有两列,一列为INT类型,另一列为NVARCHAR。我想根据其值将INT映射到一个字符串,并同时连接两者。

例如:

ID    color
-----------------
13    BLUE
13    WHITE
26    YELLOW
35    RED

预期结果:

BLUE CAR
WHITE CAR
YELLOW HOUSE
RED HAT

使用映射:

13 = CAR
26 = HOUSE
35 = HAT

这可能吗?我正在使用Microsoft SQL Server 2008

2 个答案:

答案 0 :(得分:1)

您可以使用case表达式:

select color + ' ' + 
       (case id when 13 then 'car' when 26 then 'house' when 35 then 'hat' end)
from table t;

如果您有映射表,请执行JOIN

select t.color + ' ' + m.mappingname
from table t inner join
     mapping m
     on m.id = t.id;

答案 1 :(得分:0)

我可能会去一个派生表和join

select t.color + ' ' + v.what
from t join
     (values (13, 'CAR'), (26, 'HOUSE'), (35, 'HAT')
     ) v(id, what)
     on t.id = v.id;