Jump to content
Fórum Script Brasil
  • 0

Amarração de campos complexa


caioamante

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...