我User_Table
在 SQL Server 2008 中有一个表,有一个列UserAvatar
( varbinary
) 可以是null
.
我需要一个返回用户头像的查询,如果它不为空,并且如果它null
返回保存在特定行中的默认用户头像(有一个名为的ID
列PK
)
我该怎么办?
我User_Table
在 SQL Server 2008 中有一个表,有一个列UserAvatar
( varbinary
) 可以是null
.
我需要一个返回用户头像的查询,如果它不为空,并且如果它null
返回保存在特定行中的默认用户头像(有一个名为的ID
列PK
)
我该怎么办?
CREATE PROCEDURE sp_myDuplicateCheck
@ID int,
@UserAvatar varbinary,
AS
BEGIN
SET @UserAvatar = Select UserAvatar from User_Table where ID=@ID
IF (@UserAvatar IS NULL)
Set @UserAvatar = Select UserAvatar from User_Table where ID=xxDefault
END
END
您可以在 SP 中执行逻辑并从 Code 中调用 SP 并获取数据。
其他选项是您可以在您的代码上执行相同的逻辑使用http://msdn.microsoft.com/en-us/library/tckcces5%28v=vs.80%29.aspx IsDBNULL 从 ID=XX 的 User_Table 中选择 UserAvatar
if (dr["nameOfField"] == System.DBNull.Value) //Here Dr is your Data reader
{
nedID = 1;
}
试试这个
select case when u.UserAvatar is null then (select * from User_Table uu where uu.ID = PK)
else u.UserAvatar
from User_Table u