如何在SQL中移动和转换数据?
作为一个简单的例子,假设我有两个名为Old和New的表。旧表只有一个名为Decision的列,它是一个字符串,只包含“Yes”、“No”或“Maybe” 新桌子是空的。如何从旧表中获取所有数据,对其进行转换,并将其作为整数(或int 0=“N”、1=“Y”和2=“Maybe”)存储在新表中如何在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
谢谢。我想你会在新桌子上放一个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谢谢。现在修好了。