2014-09-06 65 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