表和部分值的部分副本同时?

时间:2013-04-26 19:49:18

标签: sql sql-server-2008 select ssms

所以这将是一个奇怪的问题,但我会尽力解释它,以帮助任何人在这里帮助我......

我遇到的情况是,我试图将数据从一个数据库复制到另一个数据库到类似的表格,但是存在一些细微差别,这使得世界变得不同。 db1.table1允许null中的col3值,并且实际上有多个行具有空值但db2.table1不允许nullcol3但我仍然需要复制值。此外,db1.table1.col3GUIDdb2.table1.col3VARCHAR,这是问题的一部分。如果db1.table1.col3不属于GUID类型,那么我只需要UPDATE列,其中包含我需要在db2.table1.col3中插入的文本。

所以,总结一下:我正在寻找一种方法     INSERT INTO db2.table1 (col1, col2, col3...) SELECT col1, col2, col3... FROM db1.table1但是在col3为null的地方,我需要插入text / varchar以使它不为null。

有没有比建立任何人都知道的临时表更简单的方法呢?

1 个答案:

答案 0 :(得分:1)

将COALESCE或ISNULL与您想要的替换文字一起使用

例如ISNULL(Col3, 'Sometext')

对于GUID,您可以使用NEWID()函数,因为您无法将常规文本插入uniqueidentifier数据类型

NEWID()函数返回GUID ....例如

SELECT NEWID()

26C064EF-0AB6-4DBE-91B3-C2EE40DE7AD6