Ir para conteúdo
Fórum Script Brasil
  • 0

Amarração de campos complexa


caioamante

Pergunta

Amigos tenho um sql que faz a seguinte amarração

AND CAST(SUBSTRING(A.NUM_LOTE_ORIG,1,PATINDEX('%/%',A.NUM_LOTE_ORIG)-1) AS

INTEGER) = B.NUM_AVISO_REC

Vou explicar:

O A.NUM_LOTE_ORIG contem registros nesse formato 1234/001 onde o 1234 é o aviso de recebimento e o 001 é a sequência.

Verifique que hoje faço alguns comandos para ele fazer essa amarração desconsiderando o que vem após o / incluindo ele.

Nesse ponto começa o problema a maneira que está hoje me atende normalmente, mas surgiu uma necessidade agora de eu amarrar com o campo B.NUM_SEQ tudo que vem

após o / tirando ele.

Resumidamente preciso fazer uma amarração parecida com o que está ai no entanto pegando o que vem depois do / e amarrando com o campo B.NUM_SEQ que equivale o 001

depois da barra.

Aguardo e muito obrigado.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Bom dia Caio,

Segue uns exemplos que pode te ajudar:

-- retorna a posição do caracter pesquisado
select CHARINDEX('/', '1234/001')

-- pegando os números antes do /
SELECT left('1234/001', CHARINDEX('/', '1234/001')-1)

-- pegando os números depois do /
SELECT right('1234/001', CHARINDEX('/', '1234/001')-2)

-- concatendo o que quiser...
SELECT left('1234/001', CHARINDEX('/', '1234/001')-1) + ' XXX ' +  right('1234/001', CHARINDEX('/', '1234/001')-2)

Link para o comentário
Compartilhar em outros sites

  • 0
Bom dia Caio,

Segue uns exemplos que pode te ajudar:

-- retorna a posição do caracter pesquisado
select CHARINDEX('/', '1234/001')

-- pegando os números antes do /
SELECT left('1234/001', CHARINDEX('/', '1234/001')-1)

-- pegando os números depois do /
SELECT right('1234/001', CHARINDEX('/', '1234/001')-2)

-- concatendo o que quiser...
SELECT left('1234/001', CHARINDEX('/', '1234/001')-1) + ' XXX ' +  right('1234/001', CHARINDEX('/', '1234/001')-2)

Amigo...

Isso irá funcionar na amarração?

não quero sleecionar.. quero amarrar um campo que tem as informações depois da barra com esse campo que tem informações antes e depois, no entanto amarrando o que vem depois da barra no outro campo da tabela que representa o valor:

Ex: campo1 = 1234/001

campo 2 = 001

quero fazer um

where campo1 = campo2

entendeu?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...