检查查询输出类型

时间:2017-12-16 15:44:10

标签: oracle types

我正在使用Oracle DB并遇到问题。一旦产生输出,我无法确定类型的值是什么 我有以下简单的查询:

select 1+'1234' from dual;

对我而言,输出" 1235 "将提供一个简单的数字。但是,如何检查它之后是否未转换为文本?是否有任何" type_of" 功能对我有帮助?
提前感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

您可以使用the dump() function

select dump(1+'1234') from dual;

将为您提供datatype,以及用于表示tha值的字节值,您似乎对此不感兴趣。

Typ=2 Len=3: 194,13,36

其中类型2为NUMBER。

答案 1 :(得分:1)

我认为找到返回类型的方法是使用该查询创建表。

例如。

create table temp_table_name1 as select 1+'1234' a from dual;

desc temp_table_name1;

应该给出类型。

如果您担心返回类型,则可以使用

手动设置它
select Cast(1+'1234' As Varchar2(30)) a from dual;

OR

select Cast(1+'1234' As Number(4)) a from dual;