SQL 两列合并的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:51:23
A表中列a和B表中b列合并可以用 A.a+B.b as c 来实现
但现在a,b是日期型的,我想用视图把a b合并
ISNULL(A.a, '') + ISNULL(B.b, '') AS time

现在就有个问题,如果a,b仅有一方有值那么结果正常,如果a,b均为null时,time为1900-1-1,但我想要的是time应该null,该怎么办呢

谢谢
AB表中ab为一方有值,还有种情况是ab均为null

改为

select isnull(convert(varchar(30),A.a,120),'')+isnull(convert(varchar(30),B.b,120)AS time,'')

稍微改动一下
isnull(A.a,B.b) as time
,case when isnull(A.a,B.b) is null
then '空'
else convert(varchar(10),isnull(A.a,B.b),120)
end flag

select case when A.a is not null then A.a else null end + case when B.b is not null then B.b else null end
from A,B
where ??????????????

case when ISNULL(A.a, '') + ISNULL(B.b, '')>'' then ISNULL(A.a, '') + ISNULL(B.b, '') else null end AS time