我的代碼如下:凝聚功能不是從系列中選擇數據值
Insert Into dbo.database (Period, Amount)
Select coalesce (date_1, date_2, date_3), Amount FROM Source.dbo.[10]
我是100%的值在3個變量的一個存在:日期1,日期,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個變量的一個存在:日期1,日期,date_3,所有的字符串(var char 100),但當我調用Period時我仍然空白。
任何幫助?
合併的目的是從列表或NULL返回第一個NOT NULL字段,如果沒有字段是NOT 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]
在source.dbo中是否有date_1和date_2和date_3 [10]? –
是的,有。 – ZJAY
你可以創建一個SQL小提琴演示你的問題? –