Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Valor por extenso<b> (Resolvido)</b>


Posts Recomendados


  • Tópicos Que Criei:  49
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  219
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  1.587
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  52

Pessoal,

Estamos montando alguns documentos do Corpore (Contrato de Trabalho no RM LABORE e Contrato de Prestação de Serviços Educacionais no RM CLASSIS) utilizando a integração que o CORPORE RM possui com o Word (Consultas SQL e consultas SQL do Classis).

Ocorre que em ambos necessitamos colocar alguns valores por extenso(salário e anuidade escolar), mas não sabemos como fazer isso, pois não sabemos da existência de uma função do SQL SERVER que faça isso.

Alguém tem alguma dica ?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  895
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.831
  • Conteúdo/Dia:  1.34
  • Reputação:   306
  • Pontos/Conquistas:  106.495
  • Conteúdo Resolvido:  0
  • Dias Ganho:  192
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Primeiramente, vou mover seu post para area de Sentenças SQL, pois, como sua dúvida é relacionada a Sentenças SQL no banco de dados...

Agora, vamos lá pra melhor parte. Arrumei pra você uma função que pode fazer isso pra você. Segue abaixo:

Escrever um valor por extenso

Abaixo está uma função, que julgo ser de muita utilidade, para os desenvolvedores que estão utilizando o MSSQLServer. Este tipo de função, tem uma perfomance muito melhor quando está no Banco de Dados do que no código de um programa em Delphi, VB, C# e etc. Ela, recebe como parametro um Número, e retorna o valor por extenso do mesmo.

E além do mais, o desenvolvedor pode parametrizar a moeda ou a unidade de medida, e ainda, exibir ou não os centavos.

As seguir estão os códigos, e mais abaixo um exemplo:

<< Faça o download da função clicando aqui >>

Exemplos:

SELECT dbo.Extenso(1820)

-- Retorno: Um Mil Oitocentos e Vinte Reais

SELECT dbo.Extenso(1820.05)

-- Retorno: Um Mil Oitocentos e Vinte Reais e Cinco centavos

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Bela dica...

Isso resolve a necessidade de muita gente.

Obrigado Jair.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  49
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  219
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  1.587
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  52

Jair,

Valeu mesmo !!!

Vai ajudar muito.

Link para comentar
Compartilhar em outros sites

  • 9 meses depois...

  • Tópicos Que Criei:  32
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  565
  • Conteúdo/Dia:  0.09
  • Reputação:   10
  • Pontos/Conquistas:  3.159
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  43

Tópico Resolvido.

O mesmo foi marcado como resolvido por não haver mais nada a resolver.

Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores

Se preferir, mande um email para admin@forumrm.com.br

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  125
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  458
  • Conteúdo/Dia:  0.07
  • Reputação:   1
  • Pontos/Conquistas:  3.531
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Cara muito bom, estava mesmo precisando.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  125
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  458
  • Conteúdo/Dia:  0.07
  • Reputação:   1
  • Pontos/Conquistas:  3.531
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Jair, ao executar a sentença apresentou as seguintes mensagens:

Server: Msg 170, Level 15, State 1, Line 2

Line 2: Incorrect syntax near 'dbo'.

Server: Msg 170, Level 15, State 1, Line 2

Line 2: Incorrect syntax near 'dbo'.

Server: Msg 170, Level 15, State 1, Line 2

Line 2: Incorrect syntax near 'dbo'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 19

Line 19: Incorrect syntax near 'Cem'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 20

Line 20: Incorrect syntax near 'Cento'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 21

Line 21: Incorrect syntax near 'Duzentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 22

Line 22: Incorrect syntax near 'Trezentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 23

Line 23: Incorrect syntax near 'Quatrocentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 24

Line 24: Incorrect syntax near 'Quinhentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 25

Line 25: Incorrect syntax near 'Seiscentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 26

Line 26: Incorrect syntax near 'Setecentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 27

Line 27: Incorrect syntax near 'Oitocentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 28

Line 28: Incorrect syntax near 'Novecentos'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 31

Line 31: Incorrect syntax near 'e'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 40

Line 40: Incorrect syntax near 'Um'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 41

Line 41: Incorrect syntax near 'Dois'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 42

Line 42: Incorrect syntax near 'Tres'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 43

Line 43: Incorrect syntax near 'Quatro'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 44

Line 44: Incorrect syntax near 'Cinco'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 45

Line 45: Incorrect syntax near 'Seis'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 46

Line 46: Incorrect syntax near 'Sete'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 47

Line 47: Incorrect syntax near 'Oito'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 48

Line 48: Incorrect syntax near 'Nove'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 58

Line 58: Incorrect syntax near 'Dez'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 59

Line 59: Incorrect syntax near 'Onze'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 60

Line 60: Incorrect syntax near 'Doze'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 61

Line 61: Incorrect syntax near 'Treze'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 62

Line 62: Incorrect syntax near 'Quatorze'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 63

Line 63: Incorrect syntax near 'Quinze'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 64

Line 64: Incorrect syntax near 'Dezesseis'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 65

Line 65: Incorrect syntax near 'Dezessete'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 66

Line 66: Incorrect syntax near 'Dezoito'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 67

Line 67: Incorrect syntax near 'Dezenove'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 71

Line 71: Incorrect syntax near 'Vinte'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 72

Line 72: Incorrect syntax near 'Trinta'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 73

Line 73: Incorrect syntax near 'Quarenta'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 74

Line 74: Incorrect syntax near 'Cinquenta'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 75

Line 75: Incorrect syntax near 'Sessenta'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 76

Line 76: Incorrect syntax near 'Setenta'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 77

Line 77: Incorrect syntax near 'Oitenta'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 78

Line 78: Incorrect syntax near 'Noventa'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 82

Line 82: Incorrect syntax near 'e'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 86

Line 86: Incorrect syntax near 'Um'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 87

Line 87: Incorrect syntax near 'Dois'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 88

Line 88: Incorrect syntax near 'Tres'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 89

Line 89: Incorrect syntax near 'Quatro'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 90

Line 90: Incorrect syntax near 'Cinco'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 91

Line 91: Incorrect syntax near 'Seis'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 92

Line 92: Incorrect syntax near 'Sete'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 93

Line 93: Incorrect syntax near 'Oito'.

Server: Msg 170, Level 15, State 1, Procedure GrupoExtenso, Line 94

Line 94: Incorrect syntax near 'Nove'.

Server: Msg 170, Level 15, State 1, Procedure TrataGrupoExtenso, Line 17

Line 17: Incorrect syntax near 'e'.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 16

Line 16: Incorrect syntax near 'Real'.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 17

Line 17: Incorrect syntax near 'Reais'.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 26

Line 26: Incorrect syntax near 'Zero'.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 41

Line 41: Incorrect syntax near 'Milhao'.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 48

Line 48: Incorrect syntax near 'Mil'.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 59

Line 59: Incorrect syntax near ''.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 65

Line 65: Incorrect syntax near 'de'.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 67

Line 67: Incorrect syntax near ''.

Server: Msg 170, Level 15, State 1, Procedure Extenso, Line 82

Line 82: Incorrect syntax near 'centavo'.

Link para comentar
Compartilhar em outros sites

  • 2 semanas depois...

  • Tópicos Que Criei:  895
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.831
  • Conteúdo/Dia:  1.34
  • Reputação:   306
  • Pontos/Conquistas:  106.495
  • Conteúdo Resolvido:  0
  • Dias Ganho:  192
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Marcelo, eu não tinha visto essas suas mensagens aqui...

Dei uma olhada e verifiquei que, quando foi postado, creio que o Fórum trocou aspas duplas por duas aspas simples, e isso fez com que desse erro mesmo em vários pontos.

Copiei e teste e ocorreu o mesmo erro aqui.

Fiz a troca para uma aspa simples sempre que são usadas, e consegui gravar normalmente e testar sem problema algum.

EDITEI O POST INICIAL E COLEI CORRETO COM AS ASPAS SIMPLES. PEGAR NOVAMENTE DE LÁ OK ????

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  125
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  458
  • Conteúdo/Dia:  0.07
  • Reputação:   1
  • Pontos/Conquistas:  3.531
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

*:P*

The command(s) completed successfully.

Agora sim, Valeu Jair!

Link para comentar
Compartilhar em outros sites

  • 7 meses depois...

  • Tópicos Que Criei:  3
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  24
  • Conteúdo/Dia:  0.00
  • Reputação:   1
  • Pontos/Conquistas:  152
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  57
  • Dispositivo:  Windows

Gostaria de agradecer o trabalho desenvolvido por toda a equipe do forum e em especial este serviço prestado para a utilização de extenso, que me foi muito útil.

Parabéns e muito obrigado.

Link para comentar
Compartilhar em outros sites

  • 1 ano depois...

  • Tópicos Que Criei:  895
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.831
  • Conteúdo/Dia:  1.34
  • Reputação:   306
  • Pontos/Conquistas:  106.495
  • Conteúdo Resolvido:  0
  • Dias Ganho:  192
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Precisei deste script de novo hoje, e já foi bem útil encontrá-lo por aqui :)

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  134
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.225
  • Conteúdo/Dia:  0.19
  • Reputação:   2
  • Pontos/Conquistas:  7.400
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Dispositivo:  Windows

Isso ai roda no SQL dos aplicativos RM , ou so SQL via banco. ??

Link para comentar
Compartilhar em outros sites

  • 7 anos depois...

  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  1
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  5
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  39

Em 2007-1-10 at 11:59, Jair - Fórmula disse:

 

Primeiramente, vou mover seu post para area de Sentenças SQL, pois, como sua dúvida é relacionada a Sentenças SQL no banco de dados...

Agora, vamos lá pra melhor parte. Arrumei pra você uma função que pode fazer isso pra você. Segue abaixo:

Escrever um valor por extenso

Abaixo está uma função, que julgo ser de muita utilidade, para os desenvolvedores que estão utilizando o MSSQLServer. Este tipo de função, tem uma perfomance muito melhor quando está no Banco de Dados do que no código de um programa em Delphi, VB, C# e etc. Ela, recebe como parametro um Número, e retorna o valor por extenso do mesmo.

E além do mais, o desenvolvedor pode parametrizar a moeda ou a unidade de medida, e ainda, exibir ou não os centavos.

As seguir estão os códigos, e mais abaixo um exemplo:

<< Faça o download da função clicando aqui >>

Exemplos:

SELECT dbo.Extenso(1820)

-- Retorno: Um Mil Oitocentos e Vinte Reais

SELECT dbo.Extenso(1820.05)

-- Retorno: Um Mil Oitocentos e Vinte Reais e Cinco centavos

Jair não consigo baixar a Função, já foi removido??

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

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

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.