Oracle上的union中存在不兼容的数据类型
伙计们 我们的ORM(实体框架)和我们的Oracle提供商(Devart)正在生成一些Oracle无法执行的SQL。我不确定是谁造成了这个问题,也许Devart生成了一个SQL,在我们已经设置好环境的情况下,它可以运行 我可以想到两种可能性:Oracle上的union中存在不兼容的数据类型,oracle,union,Oracle,Union,伙计们 我们的ORM(实体框架)和我们的Oracle提供商(Devart)正在生成一些Oracle无法执行的SQL。我不确定是谁造成了这个问题,也许Devart生成了一个SQL,在我们已经设置好环境的情况下,它可以运行 我可以想到两种可能性: 德瓦特产生垃圾 Oracle未正确设置 我认为向Devart提供一个样本是相当困难的,这样他们就可以遇到相同的情况(我已经问过他们),所以让我们看看第二个 不起作用的代码: SELECT TO_CHAR(NULL) AS EXPR2 FR
- 德瓦特产生垃圾李>
- Oracle未正确设置
SELECT TO_CHAR(NULL) AS EXPR2
FROM SYS.DUAL
UNION ALL
SELECT TO_NUMBER(NULL) AS EXPR2
FROM SYS.DUAL DUAL_1
有效的代码:
SELECT TO_NUMBER(NULL) AS EXPR2
FROM SYS.DUAL
UNION ALL
SELECT TO_CHAR(NULL) AS EXPR2
FROM SYS.DUAL DUAL_1
可以看出,如果第一次选择包含数字列,Oracle确实接受不同的类型。但是我们的提供者生成了相反的情况(首先是字符,然后是数字)
问题是:我们需要在Oracle中进行任何设置才能接受第一个sql示例
不幸的是,我们不知道是什么产生了这种模式,但如果您愿意尝试,我们的linq是
谢谢。无需更改任何设置即可使其正常工作。请阅读Ben完美回答的答案。我看不出这两种说法有什么不同。复制粘贴错误?“无法执行”是对该问题的一个相当模糊的描述。我假设问题是你得到了某种错误。如果是这样,发布错误(Oracle错误号和消息文本)可能会有所帮助。我猜您是在暗示您得到了“ORA-01790:表达式必须与相应表达式具有相同的数据类型”错误…请提供准确的错误代码。@Werlang。在SQLFiddle上测试代码后,我修改了这个问题。第一版作品的数量;第一个字符不是。@a_horse_,没有名字仔细看一看我会接受它作为答案,因为如果我们在甲骨文中无能为力,我们将不得不与德瓦特一起解决。Tnx