我想在else块中输入“NA”而不是null。 这样做的任何方式?
select @query = coalesce(@query, '') +
N',max(case when A.[Date] = ''' +
cast(cte.startdate as nvarchar(20)) +
N''' then A.Attendance end) ' +
quotename(convert(char(6), cte.startdate,106))
答案 0 :(得分:1)
max()
后,您需要 所以我想你想要:
coalesce(max(case when A.[Date] = @Date then A.Attendance end), 'N/A')
这假定Attendance
是一个字符串。否则,您有类型错误。
我还应该注意,在SQL字符串中嵌入值绝对不是一个好习惯。你应该使用参数。在SQL Server中,您可以使用exec sp_executesql
而不是exec
来完成此操作。