Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, firme???
To precisando de uma ajuda de vocês!
Tenho uma coluna numérica no meu BD q traz valores de 7 dígitos assim:
ex.: 1111111
Preciso fazer com que no site apareça assim: 111.111-1.
Para isso, fiz da seguinte forma:
left(prontuario,3) + '.' + substring(CAST(prontuario AS nvarchar(7)),4,3) + '-' + right(prontuario,1) AS Prontuario
Funcionou legal, mas tem um probleminha: Alguns prontuários não estão completos. Tem 6 dígitos (tem q ser 7).
Nesses casos, tenho que completar os 7 dígitos com o número '0'.
Por exemplo: O prontuário do cara está 529860. Tem q aparecer 052.986-0
Aí, com isso, minha solução não funciona!
Alguém pode me dar uma luz por favor???
VALEW!!!!
ABRAÇOS!!!!
Certo.... entendi!!
Dei uma olha lá e montei o que preciso:
**SELECT**
REPLICATE('0',(7 - Len(Cast(prontuario as Varchar)))) + Cast(prontuario as Varchar) AS pf,
left([pf],3) + '.' + substring(CAST([pf] AS nvarchar(7)),4,3) + '-' + right([pf],1) AS [Prontuário]
FROM funcionarios
Porém isso não funciona! Qdo crio a coluna PF na primeira linha do script (REPLICATE.....) não consigo utilizá-la depois na segunda linhda (left....)! Como posso resolver isso???
Camarada,
O SQL têm algumas nuance! http://forum.imasters.com.br/public/style_emoticons/default/devil.gif
Troque isto:
SELECTREPLICATE('0',(7 - Len(Cast(prontuario as Varchar)))) + Cast(prontuario as Varchar) AS pf,left([pf],3) + '.' + substring(CAST([pf] AS nvarchar(7)),4,3) + '-' + right([pf],1) AS [Prontuário]FROM funcionariosPor:
SELECTREPLICATE('0',(7 - Len(Cast(prontuario as Varchar)))) + Cast(prontuario as Varchar) AS pf,left(REPLICATE('0',(7 - Len(Cast(prontuario as Varchar)))) + Cast(prontuario as Varchar)) + '.' + substring(CAST([pf] AS nvarchar(7)),4,3) + '-' + right([pf],1) AS [Prontuário]FROM funcionariosÉ só repetir a expressão (da criação pf) que acho q resolverá os desbeiço.
Agora eu sugiro você cria um FUNÇÃO para q a expressão fique mais simples.
t+
Camarada,
Segue um exemplo bem tosco:
DECLARE @VAR VARCHAR(7)SET @VAR = '12345'IF LEN(RTRIM(LTRIM(@VAR))) < 7 SET @VAR = @VAR + REPLICATE('0',@VAR - Len(@VAR))SELECT @VARO REPLICATE irá resolver seus problemas.
Dê um olhada neste post http://forum.imasters.com.br/index.php?showtopic=224744 onde nosso amigo eriva_br aborda este assunto.
t+