2007-08-14

As incongruências do DBMS_LOB

This post was translated here

O package DBMS_LOB fornece funções para operar com os CLOB (e BLOB) do mesmo modo que com os varchar2.

Bem mais ou menos. O caso mais caricato é o da dbms_lob.substr em que a ordem dos parametros de posição inicial (offset) e tamanho a recolher (amount) é a contrária da ordem da funcão "normal" substr.



substr( string, offset , amount ) RETURN VARCHAR2 ;

dbms_lob.substr(lob_loc,amount,offset) RETURN VARCHAR2;

Na normal função INSTR e na dbms_lob.instr a ordem dos parametros está correcta

instr( string, pattern [, offset [, nth_appearance ] ] )

dbms_lob.instr(lob_loc,pattern,offset,nth_appearance) RETURN INTEGER;

mas...a função normal permite um offset negativo que faz com que a pesquisa seja do fim da string para o início coisa que a dbms_lob.instr não faz , retornando NULL.


Nota: os nome dos parametros das funções substr e instr são diferentes mas para facilitar a leitura usei os mesmos das funções DBMS_LOB.

No comments:

Post a Comment

Os comentários são moderados.
The comments are moderated.