0

我的代码如下:

Insert Into dbo.database (Period, Amount)
Select coalesce (date_1, date_2, date_3), Amount FROM Source.dbo.[10]

我 100% 有一个值存在于 3 个变量之一中:date_1、date_2、date_3,都是字符串(var char 100),但是当我调用 Period.

有什么帮助吗?

4

1 回答 1

1

Coalesce 旨在返回列表中的第一个 NOT NULL 字段,如果没有字段不为 NULL,则返回 NULL,请点击链接获取完整详细信息http://msdn.microsoft.com/en-us/library/ms190349.aspx

我猜你在其中一列中有空白值('')而不是 NULL 值。如果您试图找到第一个非空非空白列,您可以使用 case 语句。

select 
 case
 when len(rtrim(ltrim(date_1))) > 0 then date_1
 when len(rtrim(ltrim(date_2))) > 0 then date_2
 when len(rtrim(ltrim(date_3))) > 0 then date_3
 else null
 end,
Amount
from Source.dbo.[10]
于 2013-10-17T00:00:42.780 回答