2014-09-06 70 views
1

大多數我的表有四個字段,其中包括:SQL服務器NULLvalues和Concatination

Created datetime not null default = GetDate() 
CreatedBy varchar(50) not null default = suser_sname() 
Updated datetime null 
UpdatedBy Varchar(50) null 

對於我在網格中顯示的數據,我想這些領域相結合來展示形式「最後編輯」 「用戶」的「日期時間」。

知道,我的創建和CreatedBy領域永遠不會爲空,合併似乎是答案,但我得到的錯誤有以下幾點:

,Convert(varchar(20),Coalesce(i.Updated,i.Created) ,120) + ' by ' + Coalesce(i.UpdatedBy,i.Created) as [LastEdit] 

回答

3

在所有的可能性,問題是第二coalesce()。我猜你的意思是:

(Convert(varchar(20), Coalesce(i.Updated, i.Created), 120) + ' by ' + 
Coalesce(i.UpdatedBy, i.CreatedBy) 
--------------------------------^ 
) as [LastEdit] 

你試圖將一個日期和一個字符串,這可能會導致問題。

+0

謝謝戈登 - 我的錯誤。創建需要在第二次合併中創建。 – bsivel 2014-09-06 15:13:07

+0

我會將此標記爲已回答,但我必須等待10分鐘... – bsivel 2014-09-06 15:13:43