1. 获取表
  当前用户: select * from tab;
  数据库所有表: select * from all_tables2. oracle 的 rownum 和 top 相似
  select * from tab where rownum <=2; (获取前两个记录)3. unicode  -> ascii
   substring -> substr

解决方案 »

  1.   

    select ascii(substr(table_name,4,1)) 
    from (select rownum r,a.* from user_tables a)
    where r = 2
      

  2.   

    select ascii(substr(tname,4,1)) Tab_Asc from tab where rownum <= 2;
      

  3.   

    谢谢大家。。小弟刚刚接触oracle。。以前一直是使用mssql的。。所以有些东西找不到北。能否请教各位大侠。。如果我现在已经知道了表的名称叫 abc ,如何获得其中的 列名的第8个字母的ascii值呢?MSSQL里,我是这样写的:Select Top 1 UNICODE(substring(name,8,1)) from (Select Top 2 colid,name From syscolumns Where id = OBJECT_ID(NCHAR(77)%2BNCHAR(97)%2BNCHAR(110)%2BNCHAR(97)%2BNCHAR(103)%2BNCHAR(101)%2BNCHAR(114)) Order by colid) T Order by colid desc请教oracle的写法。。还有。。如果列名和表名称都知道了。。如何获得abc表里边第5行的一个叫bcd字段的第6个字母的值呢?MSSQL的写法是:Select Top 1 unicode(substring(isNull(cast([UserName] as varchar(8000)),char(32))%2Bchar(124)%2BisNull(cast([PassWord] as varchar(8000)),char(32)),2,1)) From (Select Top 1 UserName,PassWord From [Manager] Where 1=1 Order by UserName,PassWord) T Order by UserName desc,PassWord desc)请教oracle的写法。。实在麻烦大家了。。我在移植平台碰到的麻烦好大啊。。
      

  4.   

    抱歉。。上边写的太罗嗦了。。就是请教两个问题。。如何获得abc表里边列名的第8个字母的ascii值呢?
    还有。。如何获得abc表里边第5行的一个叫bcd字段的第6个字母的值呢?
      

  5.   

    第一个问题:
    select
        B.COLUMN_NAME ,
        ASCII(SUBSTR(B.COLUMN_NAME,8,1))
    from 
        all_tab_columns b
    where
        b.table_name='ABC'