select case 急等
select 完成情况,
(CASE
WHEN 收货日期 = '1900-01-01 ' THEN ' '
else 收货日期
END)
as 收货日期 from htzx
如果等于 '1900-01-01 ' 则显示空
如果不等于 '1900-01-01 ' 那么有等于本身
可是却不行,都等于本身了。
[解决办法]
select 完成情况,
(CASE
WHEN 收货日期 = '1900-01-01 ' THEN ' '
else convert(varchar,收货日期,120)
END)
as 收货日期 from htzx
[解决办法]
你的收货日期应该是不只有日期,还有时间的吧,那当然就不行
select 完成情况,
(CASE
WHEN convert(varchar(10),收货日期,120) = '1900-01-01 ' THEN ' '
else convert(varchar,收货日期,120)
END)
as 收货日期 from htzx
[解决办法]
CASE
WHEN 收货日期 = '1900-01-01 ' THEN null
else 收货日期
END
[解决办法]
你写的CASE 没错,关键的问题在于收货日期是日期类型,数据库会把你转换好的 ' ' 又转换成日期类型, ' ' 转换成日期类型就是 '1900-01-01 ' ,看起来好像都等于本身了
最后把这一列的数据都转换成字符型就没问题了