如何在SQL中移动和转换数据?

如何在SQL中移动和转换数据?,sql,tsql,Sql,Tsql,作为一个简单的例子,假设我有两个名为Old和New的表。旧表只有一个名为Decision的列,它是一个字符串,只包含“Yes”、“No”或“Maybe” 新桌子是空的。如何从旧表中获取所有数据,对其进行转换,并将其作为整数(或int 0=“N”、1=“Y”和2=“Maybe”)存储在新表中 谢谢。我想你会在新桌子上放一个FK insert into NewTable (Decision) select case Decision when 'N' then 0 when 'Y' then 1 e

作为一个简单的例子,假设我有两个名为Old和New的表。旧表只有一个名为Decision的列,它是一个字符串,只包含“Yes”、“No”或“Maybe”

新桌子是空的。如何从旧表中获取所有数据,对其进行转换,并将其作为整数(或int 0=“N”、1=“Y”和2=“Maybe”)存储在新表中


谢谢。

我想你会在新桌子上放一个FK

insert into NewTable (Decision)
select case Decision when 'N' then 0 when 'Y' then 1 else 2 end
from OldTable
Table YesNoMaybe
Byte ID PK
Value varchar(10)

0, N
1, Y
2, Maybe

Insert into New
Select ID
From YesNoMaybe 
JOIN Old
  ON Old.Decision = YesNoMaybe.[value]

我想你会在新桌子上放一个FK

Table YesNoMaybe
Byte ID PK
Value varchar(10)

0, N
1, Y
2, Maybe

Insert into New
Select ID
From YesNoMaybe 
JOIN Old
  ON Old.Decision = YesNoMaybe.[value]

此外-单语句查询:

create table NewTable as 
select (case Decision when 'N' then 0 when 'Y' then 1 else 2 end) int_col
 from OldTable 
/

此外-单语句查询:

create table NewTable as 
select (case Decision when 'N' then 0 when 'Y' then 1 else 2 end) int_col
 from OldTable 
/

@谢谢。现在修好了。@MartinSmith谢谢。现在修好了。