34,837
社区成员




select top 5 id = identity(int,1,1) into # from syscolumns
select *, 'checkded' as checked into #1 from # where id<=3
select isnull(b.checked,''),b.checked
from # a
left join
#1 b on a.id=b.id
drop table #,#1
select @@version
/*
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Edition on Windows NT 6.1 <X86> (Build 7600: )
*/
select top 5 id = identity(int,1,1) into # from syscolumns
select isnull(b.checked,''),b.checked
from #
left join
(select id,'checkded' as checked from # where id in (1,2,3)) b on #.id=b.id
drop table #
/*
checked
-------- --------
checkded checkded
checkded checkded
checkded checkded
NULL
NULL
(5 行受影响)
*/
checkded checkded
checkded checkded
checkded checkded
NULL
NULL
NULL
declare @str varchar(20)
set @str=null
select isnull(@str,'new value') -----返回结果为'new value'
set @str=''
select isnull(@str,'new value') -----返回结果为''
set @str='abc'
select isnull(@str,'new value') -----返回结果为'abc'