我有一个日期字段,有时我想根据另一个字段中的值打印消息而不是日期。我试过这个:
select
CASE
WHEN isExofficio = 1
那么CAST('永不过期'为varchar(20))
ELSE boardDate
结束
来自tableName
我知道这不会按原样运行,但这正是我要做的 - 如果isExofficio = 1,则输出一条消息;否则输出日期。有任何想法吗? (对不起,我似乎仍然无法正确格式化!)
答案 0 :(得分:0)
在任何一种情况下,它都必须返回相同的数据类型结果,因此您只需将日期转换为varchar,因此请尝试这种方式。
select
CASE WHEN isExofficio = 1
THEN CAST 'Never Expires' ELSE CONVERT(varchar,boardDate,101)
END from tableName