SUBSTR - nÃO SAI AS PRIMEIRAS pALAVRAS

Dicas e truques sobre Oracle Reports Builder - modo gráfico ou modo caractere, ascii, arquivo .PRT, etc
Responder
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis

BOM DIA PESSOAL
TO COM UM PROBLEMA, MEIO Q ESTRANHO....

Selecionar tudo

select dt_historico,
 SUBSTR(DS_HISTORICO,4) HISTORICO
from historico_empresa
where cd_empresa = :p_cd_empresa
order by dt_historico desc

alguém SABE ME EXPLICAR, porque ESTA COMENDO AS PRIMEIRAS PALAVRAS?
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 28 Dez 2010 7:41 pm
Localização: São Paulo - SP

Olá,

Na verdade a função SUBSTR funciona assim:

Coluna, posição inicial, quantidade de caracteres

Portanto deve estar iniciando da posição 4 e por isso "comendo" as primeiras palavras...

[]s Ishii
priajf
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 297
Registrado em: Ter, 21 Dez 2010 8:45 am
Localização: Florianopolis
Priscila Fernandes

Entendi...
coloquei assim
SUBSTR(DS_HISTORICO,0) HISTORICO
E não ta mais comendo as primeiras palavras. POrém quero que ele vá até 2000 caracteres.
ishii
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 82
Registrado em: Ter, 28 Dez 2010 7:41 pm
Localização: São Paulo - SP

Olá,

Então você deveria usar assim:

Selecionar tudo

SUBSTR(DS_HISTORICO,1,2000) HISTORICO
Note que estou iniciando da posição 1 e contando 2000 a partir dessa posição. Se você quisesse, por exemplo, iniciar da posição 10 e extrair apenas 150 caracteres a partir da posição 10 seria assim:

Selecionar tudo

SUBSTR(DS_HISTORICO,10,150) HISTORICO
:-o

[]s Ishii
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes