发文的主要原因是因为前几天一个同事一直说获取分区表的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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28572479/viewspace-2219552/