Select t1.name,t1.xtype,t1.length From syscolumns t1,sysobjects t2 Where t1.id=t2.id and t2.name='SYS_CLIENT_FEE'这是Sqlserver的,oracle怎么得到这样的结果
在Sqlserver中使用的syscolumns 和 sysobjects 表oracle对应是什么 主要是得到跟sqlserver的Xtype一样的属性OracleSQL Server

解决方案 »

  1.   

    select t.TABLE_NAME,t.DATA_TYPE,t.DATA_LENGTH from dba_tab_columns t where t.OWNER='HH7YX' and t.TABLE_NAME='T';
      

  2.   

    不行啊,请问t.OWNER='HH7YX'是什么,这里的t.DATA_TYPE是指数据类型吗,我不是要数据类型,要物理存储类型,是一个数值哦
      

  3.   

    不行啊,请问t.OWNER='HH7YX'是什么,这里的t.DATA_TYPE是指数据类型吗,我不是要数据类型,要物理存储类型,是一个数值哦t.OWNER='HH7YX',代表这个表是在HH7YX用户下。
    xtype 是数据类型的id啊,你到时候还不是要转换为名字才能看懂。
      

  4.   

    不行啊,请问t.OWNER='HH7YX'是什么,这里的t.DATA_TYPE是指数据类型吗,我不是要数据类型,要物理存储类型,是一个数值哦t.OWNER='HH7YX',代表这个表是在HH7YX用户下。
    xtype 是数据类型的id啊,你到时候还不是要转换为名字才能看懂。貌似还是不行的样子,我只需要xtype的id,因为的代码里面根据这个id进行筛选
      

  5.   

    不行啊,请问t.OWNER='HH7YX'是什么,这里的t.DATA_TYPE是指数据类型吗,我不是要数据类型,要物理存储类型,是一个数值哦t.OWNER='HH7YX',代表这个表是在HH7YX用户下。
    xtype 是数据类型的id啊,你到时候还不是要转换为名字才能看懂。貌似还是不行的样子,我只需要xtype的id,因为的代码里面根据这个id进行筛选你权限不够,不能查这个视图。
    登陆到你表所在的用户,用下面的sql吧:
    select t.TABLE_NAME,t.DATA_TYPE,t.DATA_LENGTH from user_tab_columns t where t.TABLE_NAME = 'T';我也不知道oracle哪里存了数据类型对应的id,呵呵,看其他人知道不。。
    说不定oracle没有这个id
      

  6.   

    不行啊,请问t.OWNER='HH7YX'是什么,这里的t.DATA_TYPE是指数据类型吗,我不是要数据类型,要物理存储类型,是一个数值哦t.OWNER='HH7YX',代表这个表是在HH7YX用户下。
    xtype 是数据类型的id啊,你到时候还不是要转换为名字才能看懂。貌似还是不行的样子,我只需要xtype的id,因为的代码里面根据这个id进行筛选你权限不够,不能查这个视图。
    登陆到你表所在的用户,用下面的sql吧:
    select t.TABLE_NAME,t.DATA_TYPE,t.DATA_LENGTH from user_tab_columns t where t.TABLE_NAME = 'T';我也不知道oracle哪里存了数据类型对应的id,呵呵,看其他人知道不。。
    说不定oracle没有这个id
    可能是没有....那个在问你一下,data_precision和DATA_LENGTH有什么区别,因为我看到data_precision显示的数值跟我的number的长度是一致的,如number(19),data_precision值是19,DATA_LENGTH是22
      

  7.   

    不行啊,请问t.OWNER='HH7YX'是什么,这里的t.DATA_TYPE是指数据类型吗,我不是要数据类型,要物理存储类型,是一个数值哦t.OWNER='HH7YX',代表这个表是在HH7YX用户下。
    xtype 是数据类型的id啊,你到时候还不是要转换为名字才能看懂。貌似还是不行的样子,我只需要xtype的id,因为的代码里面根据这个id进行筛选你权限不够,不能查这个视图。
    登陆到你表所在的用户,用下面的sql吧:
    select t.TABLE_NAME,t.DATA_TYPE,t.DATA_LENGTH from user_tab_columns t where t.TABLE_NAME = 'T';我也不知道oracle哪里存了数据类型对应的id,呵呵,看其他人知道不。。
    说不定oracle没有这个id
    可能是没有....那个在问你一下,data_precision和DATA_LENGTH有什么区别,因为我看到data_precision显示的数值跟我的number的长度是一致的,如number(19),data_precision值是19,DATA_LENGTH是22嗯,这里你针对number可能还要处理下,,DATA_LENGTH是字节长度,而data_precision才是实际的
      

  8.   

    data_length 只有字符类型才有用
    数字类型看 data_precision 总长度 和 data_scale 小数点精度
      

  9.   

    哦 谢谢啊,刚好我只需要字符类型的,然后再问下大神,能写一段sql查出一个用户下所有表使用过的数据类型吗,我看看有哪些,在代码里一一对应