Jump to content
Fórum Script Brasil
  • 0

Contar valores apartir de registros repetidos em 1 unica linha de uma


kameibr

Question

Amigos.

Estou com um problema.

Preciso contar o número de vezes que aparece o número 160 nesta linha:

0x1600006CA87A000000E000000000000016000092A1C8000000E0000000000000160000DB786B000000E00000000000001600001F4282000000E0000000000000160000945A3D000000E00000000000001600009BDE0C000000E000000000000016000028479F000000E00000000000001600001404E6000000E0000000000000

Após contar o número 160, preciso que todos os numeros 160 sejam substituidos por FFF .

alguém sabe como posso fazer isto?

Abraços

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Bom dia,

O replace está correto para alterar a string, mas o agrupamento não informará quantos 160 aparecem na string.

Você terá que fazer um loop para contar quantas vezes o 160 irá aparecer.

Poderá utilizar o CHARINDEX do sql. Ele retorna a primeira ocorrência de caracter(es) em uma string.

OBS.: o CHARINDEX retorna quando encontrar a primeira ocorrência. Aí q vem o loop para identificar as demais ocorrências, até a string terminar. Faça um contador para ir incrementando toda vez o a função encontrar o(s) caracter(es) desejado(s).

Link to comment
Share on other sites

  • 0

Boa tarde,

No seu string há 8 ocorrências do 160. Alguns você não colocou em negrito.

Segue script. Se não entender pode postar. Seleciona tudo e roda:

DECLARE @String VARCHAR(1000)
DECLARE @Contador INT

SET @Contador = 0
SET @String = '0x1600006CA87A000000E000000000000016000092A1C8000000E0000000000000160000DB786B000000E00000000000001600001F4282000000E0000000000000160000945A3D000000E00000000000001600009BDE0C000000E
000000000000016000028479F000000E00000000000001600001404E6000000E0000000000000'

while (SELECT CHARINDEX('160', @String)) > 0
BEGIN
  SET @Contador = @Contador + 1    
  SET @String = (SELECT RIGHT (@String, LEN(@String) - (CHARINDEX('160', @String))-2))
END

SELECT @Contador

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...