1

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

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

谢谢。

4

3 回答 3

4
insert into NewTable (Decision)
select case Decision when 'N' then 0 when 'Y' then 1 else 2 end
from OldTable
于 2013-02-08T13:59:12.117 回答
0

另外——单语句查询:

create table NewTable as 
select (case Decision when 'N' then 0 when 'Y' then 1 else 2 end) int_col
 from OldTable 
/
于 2013-02-08T15:20:44.893 回答
0

我假设您将在新桌子上放一个 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]
于 2013-02-08T14:07:07.530 回答