Usuário com melhor resposta
Eliminar Zero

Pergunta
-
Amigos bom dia!
A SQL abaixo me retornar zeros a direita, porem o codigo correto do atendimento começa com A.
SQL
SELECT
CONVERT(VARBINARY(MAX), HHS.CODIGO)AS 'COD_ALFA'
FROM HISResultado
0x0000000000AAB303
0x0000000000AAB304
0x0000000000AAB305
0x0000000000AAB306
0x0000000000AAB307
0x0000000000AAB308Resultado esperado e eliminar os Zero
AAB303
AAB304
AAB305
AAB306
AAB307
AAB308obrigado amigos
Respostas
-
Bom dia,
Se a quantidade caracteres for padrão, você pode utilizar a função a RIGHT:
Ex.:
SELECT RIGHT('0x0000000000AAB303',6)
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 5 de agosto de 2020 16:29
- Não Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 5 de agosto de 2020 16:29
- Marcado como Resposta Ronnie Von quarta-feira, 5 de agosto de 2020 17:48
-
Ronnie,
Agora eu fiquei na dúvida, você no primeiro post esta apresentando um Select fazendo conversão para Varbinary(), mas no outro post destacou que a coluna é BigInt.
Sinceramente eu não entendi, pois os dados que estão sendo apresentados na imagem, estão no formato hexadecimal.
Para tentar representar o que você esta postando, eu declarei um Select...Values passando três coluna, sendo eles Varbinary, BigInt e Caracterer, ao realizar o Select e tentar aplicar a conversão nos valores que estão declarados como string fazendo as respectivas conversões você vai poder perceber que os dados são convertidos para Varbinary, BigInt e a última coluna eu estou extraindo somente a parte que deseja, no caso a coluna BigInt os valores são repassados para o formato numérico, já a coluna BigIntConvertida inicialmente declarada como String nos permite fazer uso de funções caracteres.
No mesmo Select tomei como base uma possível padronização dos dados para justamente extrair o que você precisa deixando somente a parte final, fazendo uso da função Replace().
Será que este raciocínio poderá lhe ajudar:
Select Convert(VarBinary(Max),ColunaVarbinary) As ColunaVarBinary, Convert(BigInt,ColunaBigInt) As BigInt, Replace(ColunaBigIntConvertida,'0x0000000000','') As ReplaceColunaBigIntConvertida From (Values('0x0000000000AAB303',0x0000000000AAB303,'0x0000000000AAB303'), ('0x0000000000AAB304',0x0000000000AAB304,'0x0000000000AAB304'), ('0x0000000000AAB305',0x0000000000AAB305,'0x0000000000AAB305'), ('0x0000000000AAB306',0x0000000000AAB306,'0x0000000000AAB306'), ('0x0000000000AAB307',0x0000000000AAB307,'0x0000000000AAB307'), ('0x0000000000AAB308',0x0000000000AAB308,'0x0000000000AAB308')) As Tabela (ColunaVarbinary, ColunaBigInt,ColunaBigIntConvertida) Go
Agora eu lhe pergunto:
1 - Você tem um padrão na formatação destes dados?
2 - Tem certeza que esta utilizando o tipo de dados BigInt?
3- Já tentou converter para um tipo de dados Varchar() ou Char()?
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Editado Junior Galvão - MVPMVP quarta-feira, 5 de agosto de 2020 17:12
- Marcado como Resposta Ronnie Von quarta-feira, 5 de agosto de 2020 17:47
-
Segue Print.
preciso retirar os zeros , usando essa opção
SELECT RIGHT('0x0000000000AAB303',6)
ele converte em numero.
- Editado Ronnie Von quarta-feira, 5 de agosto de 2020 14:35
- Marcado como Resposta Ronnie Von quarta-feira, 5 de agosto de 2020 17:48
Todas as Respostas
-
Bom dia,
Se a quantidade caracteres for padrão, você pode utilizar a função a RIGHT:
Ex.:
SELECT RIGHT('0x0000000000AAB303',6)
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 5 de agosto de 2020 16:29
- Não Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 5 de agosto de 2020 16:29
- Marcado como Resposta Ronnie Von quarta-feira, 5 de agosto de 2020 17:48
-
-
-
Segue Print.
preciso retirar os zeros , usando essa opção
SELECT RIGHT('0x0000000000AAB303',6)
ele converte em numero.
- Editado Ronnie Von quarta-feira, 5 de agosto de 2020 14:35
- Marcado como Resposta Ronnie Von quarta-feira, 5 de agosto de 2020 17:48
-
-
Eu tb, depois que fui descobrir que ela foi criada dessa forma, pois fiz o teste e converteu em fez de eliminar.
Vamos tentando.
- Editado Ronnie Von quarta-feira, 5 de agosto de 2020 14:56
-
Ronnie,
Agora eu fiquei na dúvida, você no primeiro post esta apresentando um Select fazendo conversão para Varbinary(), mas no outro post destacou que a coluna é BigInt.
Sinceramente eu não entendi, pois os dados que estão sendo apresentados na imagem, estão no formato hexadecimal.
Para tentar representar o que você esta postando, eu declarei um Select...Values passando três coluna, sendo eles Varbinary, BigInt e Caracterer, ao realizar o Select e tentar aplicar a conversão nos valores que estão declarados como string fazendo as respectivas conversões você vai poder perceber que os dados são convertidos para Varbinary, BigInt e a última coluna eu estou extraindo somente a parte que deseja, no caso a coluna BigInt os valores são repassados para o formato numérico, já a coluna BigIntConvertida inicialmente declarada como String nos permite fazer uso de funções caracteres.
No mesmo Select tomei como base uma possível padronização dos dados para justamente extrair o que você precisa deixando somente a parte final, fazendo uso da função Replace().
Será que este raciocínio poderá lhe ajudar:
Select Convert(VarBinary(Max),ColunaVarbinary) As ColunaVarBinary, Convert(BigInt,ColunaBigInt) As BigInt, Replace(ColunaBigIntConvertida,'0x0000000000','') As ReplaceColunaBigIntConvertida From (Values('0x0000000000AAB303',0x0000000000AAB303,'0x0000000000AAB303'), ('0x0000000000AAB304',0x0000000000AAB304,'0x0000000000AAB304'), ('0x0000000000AAB305',0x0000000000AAB305,'0x0000000000AAB305'), ('0x0000000000AAB306',0x0000000000AAB306,'0x0000000000AAB306'), ('0x0000000000AAB307',0x0000000000AAB307,'0x0000000000AAB307'), ('0x0000000000AAB308',0x0000000000AAB308,'0x0000000000AAB308')) As Tabela (ColunaVarbinary, ColunaBigInt,ColunaBigIntConvertida) Go
Agora eu lhe pergunto:
1 - Você tem um padrão na formatação destes dados?
2 - Tem certeza que esta utilizando o tipo de dados BigInt?
3- Já tentou converter para um tipo de dados Varchar() ou Char()?
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Editado Junior Galvão - MVPMVP quarta-feira, 5 de agosto de 2020 17:12
- Marcado como Resposta Ronnie Von quarta-feira, 5 de agosto de 2020 17:47
-
-
-
Ronnie,
Que bom, fico feliz, precisando estamos por aqui.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-