select id from a union select id from b你确定是字符行吗?SQL>DESC  A
看下select id from a union select id from b
还有在SQLPLUS把这条语句运行看结果,还是这样

解决方案 »

  1.   

    “***********E+*”,是数字的科学计数法。VB把这个数字串当成数字了。
    如果确认ID为VARCHAR2类型,直接select id from tablename则ID一般都是字符串的。
    也可能是你使用ODBC提取数据的时候类型转换不当。
    在其他控件中有SQLQUERY->FILEDS->ASSTRING的强制转换方法。VB中没用过,应该也有类似的。
      

  2.   

    ************E+*相当于   1.2345678990E10  差不多这意思,十次方
    先看一下两个id是什么类型的? 如果不是可以用函数转换成字符输出.
      

  3.   

    如果不是字符串,还可以强制为字符串输出,select to_char(id) from ...
      

  4.   

    问题解决了:select to_char(id,'999999999999999999') as id from tbltitle1 union select to_char(id,'999999999999999999') as id from tbltitle2"
    这样就不会科学计数了,出来的字符串是18位的,想改变位数,只需改变'999...'就行了。