SQL语问问题,高手看下什么意思。。

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:39:43
/*
case when a.updatedate > isnull(E.updatedate, '2000-01-01') then A.updatedate
else E.updatedate
end as LastTransDate
*/

请问这句话是什么意思?

isnull(E.updatedate, '2000-01-01')是当E.updatedate字段的值为NULL时,返回'2000-01-01',不这NULL返回E.updatedate

整句的意思是:
当a.updatedate里的日期大于isnull(E.updatedate, '2000-01-01') 时
显示A.updatedate
否则显示 E.updatedate

设置字段名为:LastTransDate

没写全吧...而且是被注释掉的部分...

case 如果

when 当 then 则

isnull 使用指定的替换值替换 NULL。
isnull(E.updatedate, '2000-01-01') 用2000-01-01替换 如果为null的E.updatedate字段

整段就是
如果 a.updatedate 大于 E.updatedate(如果 E.updatedate 为NULL 就大于2000-01-01)那么读 A.updatedate 否则读 E.updatedate
输出为 LastTransDate