执行时出错
回答
是的,不同的数据类型; 2
是一个整数,其中'2'
是一个字符串文字,因此它们处于不同的数据类型中,这就是为什么你会收到错误。
当您使用UNION
时,数据类型应该匹配;他们应该是整数或字符串文字是这样的:以@Mahmoud贾迈勒答案更
select 1 from tab union select 2 from tab;
Intriguiingly,Oracle文档(http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_el ements003.htm#i139891)在文字“1”是数字还是整数时是不一致的。该文档包含两个不带小数点的数字字符串的示例。 (这个细节并没有真正改变答案。) –
@GordonLinoff - 啊哈,谢谢你的提示。我不知道Oracle术语。 –
这里它所区分的位奇数并不是一个单独的类型。关于使用文本文字的一点更加陌生,因为它建议隐式转换。即使NLS设置具有逗号作为小数分隔符,数字文字仍然总是使用句点。 –
位信息 看到简单的测试
create table t1 as select 1 as col1 from dual;
create table t2 as select '1' as col1 from dual;
,然后在SQL Plus中我们可以看到,t1.col1是数值,但是t2.col1是CHAR(1)
Connected to Oracle Database 11g Express Edition Release 11.2.0.2.0
Connected as ***
SQL> desc t1;
Name Type Nullable Default Comments
---- ------ -------- ------- --------
COL1 NUMBER Y
SQL> desc t2;
Name Type Nullable Default Comments
---- ------- -------- ------- --------
COL1 CHAR(1) Y
SQL>
- 1. 执行Response.End时出错()
- 2. 执行PSEXEC时出错
- 3. GhostScript - ps2pdf - 执行时出错
- 4. 执行cl.exe时出错
- 5. 执行SQL时出错
- 6. 执行eccjs库时出错
- 7. ProcessException执行时出错
- 8. 执行nodejs时出错
- 9. 从命令行执行jar时出错
- 10. 执行时出现意外错误: - 启动活动时出错
- 11. 使用OPENDATASOURCE执行查询时出错
- 12. Oracle:执行查询时出错
- 13. 执行代码时出现错误
- 14. 执行循环队列时出错?
- 15. SQLite:执行查询时出错:near“WITH”
- 16. 在vb.net上执行string.substring时出错
- 17. struts2瓷砖 - 执行时出错
- 18. 执行sql语句时出错
- 19. SQL语法执行mysqli_query时出错
- 20. 执行风暴起动器时出错
- 21. 执行多个选择时出错
- 22. 从C#执行OLEDB更新时出错#
- 23. 执行“rails new APP_NAME”时出错
- 24. 报告执行时出现SSRS错误
- 25. 执行查询时出错PHP
- 26. 执行ghc-modi`type`命令时出错:
- 27. 安装Tk执行命令时出错
- 28. 执行bash代码时出错
- 29. 执行以下mysql查询时出错
- 30. 执行解释器文件时出错
是的,不同的数据类型 – Clive