我的代码如下:
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.
有什么帮助吗?
我的代码如下:
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.
有什么帮助吗?
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]