Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DiEz

Divisão de Campo (Automatizado)

Recommended Posts

Olá amigos!

 

Estou com a seguinte dificuldade:

Tenho uma tabela de CEP onde existe o campo DEATE. Nele consta o range de números dos imóveis os quais o CEP selecionado atende.

Ex.: DE 00001 A 99998

DE 001 A 022

DE 1029 A 1232

 

 

Gostaria de separar o "00001" para um campo DE e o "99998" para um campo ATE.

 

Como eu poderia fazer para fazer isso de uma forma mais automatizada?

 

A forma que estou fazendo consiste em criar os campos DE e ATE, copiar o conteúdo exato do campo DEATE para ambos e excluir os dados que sobram. Porém também não encontrei uma forma de, no caso do campo ATE por exemplo, remover automáticamente o "DE ?????? A ".

 

Agradeço toda ajuda e sugestão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada,

 

Segue um exemplo:

DECLARE @DEATE VARCHAR(50),		@POS_INI INT,		@DE VARCHAR(50),		@ATE VARCHAR(50),		@POS1 INT,		@POS2 INTSELECT @DEATE = 'DE 00001 A 99998'SELECT @POS1 = CHARINDEX(' ', @DEATE) SELECT @POS2 = CHARINDEX(' A ', @DEATE) SELECT @DE 	= SUBSTRING(@DEATE,(@POS1 + 1), (@POS2 - 3))SELECT @ATE = SUBSTRING(@DEATE,(@POS2 + 2), LEN(RTRIM(LTRIM(@DEATE))))SELECT @DE AS 'DE' ,@ATE AS 'ATE'

 

É só para você ter um ideia do que pode ser feito.

 

Claro aqui deve-se levar em considerção que estou usando a formatação: DE 00001 A 99998 q você passou.

 

Se estiver DE 00001 A99998 vai dar erro.

 

Uma solução é pegar o tamanho da string (len) e fazer um loop caracter a caracter e identificar os numeros.

 

Jothaz

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.