34,593
社区成员
发帖
与我相关
我的任务
分享
create table tb(a varchar(2),b varchar(2),c varchar(2),d varchar(2))
go
insert into tb select 1,'','',''
insert into tb select 1,null,null,null
set nocount on
--1
select case when ISNULL(a,'')<>'' and ISNULL(b,'')<>'' and ISNULL(c,'')<>'' and ISNULL(d,'')<>''
then ISNULL(d,'')
when ISNULL(a,'')<>'' and ISNULL(b,'')<>'' and ISNULL(c,'')<>'' and ISNULL(d,'')=''
then ISNULL(c,'')
when ISNULL(a,'')<>'' and ISNULL(b,'')<>'' and ISNULL(c,'')='' and ISNULL(d,'')=''
then ISNULL(b,'')
when ISNULL(a,'')<>'' and ISNULL(b,'')='' and ISNULL(c,'')='' and ISNULL(d,'')=''
then ISNULL(a,'')
end col
from tb
--2
SELECT coalesce(d,c,b,a) FROM tb
--3
SELECT isnull(isnull(isnull(d,c),b),a) FROM tb
-----------
col
----
1
1
----
1
----
1
isnull(isnull(isnull(d,c),b),a)
SELECT coalesce(d,c,b,a) FROM TABLE1
SELECT
CASE WHEN A IS NOT NULL AND B IS NOT NULL AND C IS NOT NULL AND D IS NOT NULL THEN D
WHEN A IS NOT NULL AND B IS NOT NULL AND C IS NOT NULL AND D IS NULL THEN C
WHEN A IS NOT NULL AND B IS NOT NULL AND C IS NULL AND D IS NULL THEN B
WHEN A IS NOT NULL AND B IS NULL AND C IS NULL AND D IS NULL THEN A
END
FROM
TB