0

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

我遇到了一种情况,我试图将数据从一个数据库复制到另一个数据库到类似的表,但是有一点点不同,这会产生很大的不同。 db1.table1允许null值,col3实际上确实有许多具有空值但db2.table1不允许null值的行,col3但我仍然需要将值复制过来。此外,db1.table1.col3一段GUID时间db2.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 为空的地方,我需要插入 text/varchar 以使其不为空。

有没有比建立一个任何人都知道的临时表更简单的方法来做到这一点?

4

1 回答 1

1

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

例如ISNULL(Col3, 'Sometext')

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

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

SELECT NEWID()

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

于 2013-04-26T19:52:23.940 回答