将值而不是varchar替换为boolean

时间:2013-04-13 07:55:32

标签: sql sql-server sql-server-2008 tsql sql-insert

我有不同的数据库表,

数据库1:

表1:

Id -001(int)

Name -xxx(varchar)

Male -0 (bit)

Female-1 (bit)

数据库2:

表2:

Id -1 (int)

Ca.Name-yyy (varchar)

Gender - M or F (varchar)

这些是我的表格。我想从数据库2创建插入查询,然后我执行到表1.但是我这样做有问题。

怎么做?

2 个答案:

答案 0 :(得分:2)

您可以执行INSERT INTO...SELECT语句并使用CASE检查用户是否为Male or Female

INSERT  INTO dbase2.dbo.Table2(ID, Name, Gender)
SELECT  ID, Name,
        CASE WHEN Male = 1 THEN 'M' ELSE 'F' END Gender
FROM    dbase1.dbo.Table1

答案 1 :(得分:0)

INSERT INTO database1.Table1 ( Id, Name, Male, Female )
SELECT id, name, CAST( CASE gender WHEN 'M' THEN 1 ELSE 0 end as Bit), CAST( CASE gender WHEN 'M' THEN 0 ELSE 1end as Bit) FROM database2.Table2

我认为从你发布从Table2到table1的内容,上面应该适用于那个场景