执行时出错

时间:2015-11-08 12:36:06

标签: sql oracle

Oracle中2'2'之间的区别是什么?

不同的数据类型?

select 1 from tab union select '2' from tab;

发生错误

2 个答案:

答案 0 :(得分:3)

是的,不同的数据类型; 2是一个整数,其中'2'是字符串文字,因此它们使用不同的数据类型,这就是您收到错误的原因。

使用UNION时,数据类型应匹配;它们应该是整数或字符串文字,如下所示:

select 1 from tab union select 2 from tab;

答案 1 :(得分:0)

更多信息给@Mahmoud Gamal回答 看看简单的测试

.commitAfter(1000)

然后在SQL Plus中我们可以看到t1.col1是数字,但t2.col1是CHAR(1)

create table t1 as select 1 as col1 from dual;
create table t2 as select '1' as col1 from dual;