SQL 根据另一个字段输出文本或日期

SQL Output text or date depending on another field

我有一个日期字段,有时我想根据另一个字段中的值打印消息而不是日期。我试过这个:

select 案例 WHEN isExofficio = 1 THEN CAST ('Never Expires' as varchar(20)) ELSE boardDate 结束 来自表名

我知道这不会按原样工作,但这是我正在尝试做的 - 如果 isExofficio = 1,则输出一条消息;否则输出日期。有任何想法吗? (抱歉,我似乎还是无法正确设置格式!)

在任何一种情况下,它都必须 return 相同的数据类型结果,因此您可以将日期转换为 varchar,所以请尝试这种方式。

select
CASE WHEN isExofficio = 1
THEN CAST 'Never Expires' ELSE CONVERT(varchar,boardDate,101)
END from tableName