举个简单的例子,假设我有两个名为 Old 和 New 的表。Old 表只有一个名为 Decision 的列,它是一个字符串,并且只包含“Yes”、“No”或“Maybe”。
新表是空的。如何从旧表中获取所有数据,对其进行转换,并将其作为整数(或 int 0="N"、1="Y" 和 2="Maybe")存储在新表中。
谢谢。
insert into NewTable (Decision)
select case Decision when 'N' then 0 when 'Y' then 1 else 2 end
from OldTable
另外——单语句查询:
create table NewTable as
select (case Decision when 'N' then 0 when 'Y' then 1 else 2 end) int_col
from OldTable
/
我假设您将在新桌子上放一个 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]