Sunday, June 24, 2007

Isnumeric em Oracle

Ola, depois de passar o São joão, aqui volto para dar mais uma pequena ajuda, desta vez é para validar num PL-SQL apenas valores numericos, para isso quando estiverem a realizar o select apenas fazam isto,


LENGTH(TRIM(TRANSLATE(string1, ' +-.0123456789', ' ')))

Isto ira validar se tem algum valor que nao seja numerico retornando o valor do texto, se nao tiver nenhum numeric ira retornar NULL, como indica o exemplo:

LENGTH(TRIM(TRANSLATE('123b', ' +-.0123456789',' ')));
retorna 1

LENGTH(TRIM(TRANSLATE('a123b', ' +-.0123456789',' ')));
retorna 2

LENGTH(TRIM(TRANSLATE('1256.54', ' +-.0123456789',' ')));
retorna null

LENGTH(TRIM(TRANSLATE ('-56', ' +-.0123456789',' ')));
retorna null
Post a Comment