空日期返回无效日期

时间:2013-05-29 15:02:33

标签: tsql case

尝试将日期字段中的NULL更改为空白结果,但它会一直返回日期。我正在这样做,因为我需要满足以下条件:

CASE WHEN closed = 'y' THEN Date ELSE '' END

我已尝试将其作为varchar和其他东西进行投射,否则会抛出错误或什么都不做!

2 个答案:

答案 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