我正在使用Oracle DB并遇到问题。一旦产生输出,我无法确定类型的值是什么 我有以下简单的查询:
select 1+'1234' from dual;
对我而言,输出" 1235 "将提供一个简单的数字。但是,如何检查它之后是否未转换为文本?是否有任何" type_of" 功能对我有帮助?
提前感谢您的帮助!
答案 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;