通过SQL Server链接的服务器和日期值查询Oracle

时间:2016-09-02 16:26:37

标签: sql-server oracle

我正在尝试在作为"链接服务器"附加到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"

我错过了什么?

1 个答案:

答案 0 :(得分:0)

正如评论所建议的那样,你不能在日期栏中使用空字符串,因此,为什么不使用它呢:

CASE
    WHEN ACCOUNT.DATE_REVOKED IS NULL
    THEN NULL
    ELSE CONVERT(DATE, ACCOUNT.DATE_REVOKED)
END