尝试将日期字段中的NULL更改为空白结果,但它会一直返回日期。我正在这样做,因为我需要满足以下条件:
CASE WHEN closed = 'y' THEN Date ELSE '' END
我已尝试将其作为varchar和其他东西进行投射,否则会抛出错误或什么都不做!
答案 0 :(得分:1)
您应该将其转换为varchar:
CASE WHEN closed = 'y' THEN LEFT(CONVERT(VARCHAR, Date, 120), 10) ELSE '' END
有关详细信息,请参阅How to convert DateTime to VarChar。
答案 1 :(得分:1)
结果中的列只能包含一种类型,它不能同时是日期和文本字段。您可以将日期转换为字符串,这样您就不再需要这样的日期:
CASE WHEN closed = 'y'
THEN CAST(Date AS VARCHAR)
ELSE '' END