我正在尝试在作为"链接服务器"附加到SQL Server的旧版Oracle数据库中访问某些数据。我有一个Oracle表,其中一列是Date
类型。此列中的值可以为NULL。
在我正在构建的查询中,我希望只返回" date"列值的一部分,如果值为NULL,则为空字符串。
我正在尝试:
CASE
WHEN ACCOUNT.DATE_REVOKED IS NULL
THEN ''
ELSE CONVERT(DATE, ACCOUNT.DATE_REVOKED)
END
这适用于具有实际日期的值。对于NULL值,返回为" 1900/01/01"。如果我不使用CASE
并只返回
CONVERT(DATE, ACCOUNT.DATE_REVOKED)
我将至少在SQL Server Management Studio中获取日期部分或文本" NULL"
我错过了什么?
答案 0 :(得分:0)
正如评论所建议的那样,你不能在日期栏中使用空字符串,因此,为什么不使用它呢:
CASE
WHEN ACCOUNT.DATE_REVOKED IS NULL
THEN NULL
ELSE CONVERT(DATE, ACCOUNT.DATE_REVOKED)
END