将SQL Server查询转换为Oracle

时间:2019-11-16 02:09:24

标签: oracle

我正在尝试使用Oracle DB上托管的ALM进行一些报告。我找到了一个查询,希望能给我一些我想要获得的信息,但很难找到答案。

但是,查询是为SQL Server设计的,我们正在Oracle DB上运行此查询。我已经尝试对其进行更新,但是直到遇到无法解决的错误(并且谁知道之后可能还会发生什么),我才能走得很远。

我因以下错误而停止

std::enable_if_t
template <typename T>
std::enable_if_t<0u == sizeof(T) % 4u> loadData (T *)
 { std::cout << "4 version" << std::endl; }

template <typename T>
std::enable_if_t<0u != sizeof(T) % 4u> loadData (T *)
 { std::cout << "no 4 version" << std::endl; }

1 个答案:

答案 0 :(得分:1)

我已经评论过,所有case语句都有问题。

我正在向您展示如何为一个这样的case语句更改它,并在所有case语句中复制相同的更改。

原文:

CAST(CASE
 WHEN b.TS_TEST_ID IS NOT NULL
    THEN CAST(b.TS_TEST_ID AS varchar)
 ELSE "N/A"
END AS varchar) as "Test-Id",

将其更改为:

COALESCE(TO_CHAR(b.TS_TEST_ID), 'N/A') as "Test-Id",

COALESCE将从传递的参数列表中返回第一个非null值,并且字符串文字必须用single quotes包装。

没有使用太多的CAST

干杯!