Jump to content
Fórum Script Brasil
  • 0

Utilizar opção Rigth e Replicate


hrm

Question

Pessoal, neste meu select, ele me retorna um número assim: 3612. Só que quero que todas as vezes que faça o select, ele deixe o numero com 7 casas decimais. Ex: Se vinher 3612, ele transforma para 0003612. Se vinher 33612 ele transforma para 0033612. E assim por diante. Sei que tem a função Replicate, mas não consegui encaixa esse meu select na sintaxe dessas funções. Algeum me ajuda??

select top 1 cast (pk_tabela as INT) + 1

from [bD_TESTE].[dbo].[tabela]

order by pk_tabela desc

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Bom dia hrm,

O Replicate é para você substituir caracteres. Creio que não conseguirá fazer com a funcionalidade. O tipo também terá que ser alterado para caracter, pois se alterar para numérico o zero a esquerda será suprimido.

Segue um exemplo de como pode resolver:

DECLARE @Numero AS INT

SET @Numero = 3612 

SELECT case len(CAST(@Numero AS varchar(7)))
WHEN 1 THEN '000000' + CAST(@Numero AS varchar(7))
WHEN 2 THEN '00000' + CAST(@Numero AS varchar(7))
WHEN 3 THEN '0000' + CAST(@Numero AS varchar(7))
WHEN 4 THEN '000' + CAST(@Numero AS varchar(7))
WHEN 5 THEN '00' + CAST(@Numero AS varchar(7))
WHEN 6 THEN '0' + CAST(@Numero AS varchar(7))
WHEN 7 THEN CAST(@Numero AS varchar(7)) END

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