ITPub博客

首页 > 数据库 > Oracle > long2varchar 把long转换为varchar2

long2varchar 把long转换为varchar2

原创 Oracle 作者:raysuen 时间:2018-11-11 22:52:34 0 删除 编辑

发文的主要原因是因为前几天一个同事一直说获取分区表的high_value不会,并且一直表示long类型完全不能获取。迫不得已,我今晚查了一下资料,发现oracle本身有对long类型的转换支持。


SQL> desc dbms_metadata_util

…...

FUNCTION LONG2VARCHAR RETURNS VARCHAR2

Argument Name                  Type                    In/Out Default?

------------------------------ ----------------------- ------ --------

LENGTH                         NUMBER                  IN

TAB                            VARCHAR2                IN

COL                            VARCHAR2                IN

ROW                            ROWID                   IN

…...

create table t1 (name long);

insert into t1 values(‘a’);

insert into t1 values(‘b’);

insert into t1 values(‘c’);

commit;

SQL> select sys.dbms_metadata_util.long2varchar(100,'scott.t1','name',rowid) from scott.t1;

SYS.DBMS_METADATA_UTIL.LONG2VARCHAR(100,'SCOTT.T1','NAME',ROWID)

--------------------------------------------------------------------------------

a

b

c

SQL>  select * from scott.t1 where sys.dbms_metadata_util.long2varchar(100,'scott.t1','name',rowid) = 'a';

NAME

--------------------------------------------------------------------------------

a




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28572479/viewspace-2219552/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
擅长oracle,Linux。精通shell,python。

注册时间:2016-08-23

  • 博文量
    138
  • 访问量
    181335