Oracle中2
和'2'
之间的区别是什么?
不同的数据类型?
select 1 from tab union select '2' from tab;
发生错误
答案 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;