FORMATAR NUMEROS NO SQL
Boa Noite Pessoal...
utilizando o Mysql e VB6.0, estou querendo atualizar o valor de um campo com limitação na quantidade decimal, preferencialmente pegar as configurações do windows para isso, sei que o Mysql não tem formato Moeda, tentei da seguinte forma... mas dá erro na sintaxe:
conn.Execute [Ô]UPDATE itensatendimentos SET tabelacomdesconto = format(tabela, numeric)[Ô]
alguém pode me ajudar?
abraços
utilizando o Mysql e VB6.0, estou querendo atualizar o valor de um campo com limitação na quantidade decimal, preferencialmente pegar as configurações do windows para isso, sei que o Mysql não tem formato Moeda, tentei da seguinte forma... mas dá erro na sintaxe:
conn.Execute [Ô]UPDATE itensatendimentos SET tabelacomdesconto = format(tabela, numeric)[Ô]
alguém pode me ajudar?
abraços
Tente:
conn.Execute [Ô]UPDATE itensatendimentos SET tabelacomdesconto = [Ô] & format(tabela, numeric)
conn.Execute [Ô]UPDATE itensatendimentos SET tabelacomdesconto = [Ô] & format(tabela, numeric)
Não dá, pois tabela é um campo do banco de dados, teria que ficar dentro da instrução sql
Segundo o fórum MSDN não tem com formatar direto na instrução SQL...
Dê uma olhada...
http://social.msdn.microsoft.com/Forums/pt-BR/transactsqlpt/thread/8051f9b0-6c7e-4d67-a8ad-3c356babdbcd
Dê uma olhada...
http://social.msdn.microsoft.com/Forums/pt-BR/transactsqlpt/thread/8051f9b0-6c7e-4d67-a8ad-3c356babdbcd
Amigo, JONES
Precisa olhar pois o mysql tem um capom DECIMAL pode colocar quantas casas decimais precisar, e uso uma função para trocar VIRGULA por PONTO
Se não for isso posta a estrutura do seu BD para podermos tentar ajudar
Precisa olhar pois o mysql tem um capom DECIMAL pode colocar quantas casas decimais precisar, e uso uma função para trocar VIRGULA por PONTO
[Ô] & gVgPt(VL_VALOR_DEBITO) & [Ô]
Function gVgPt(ByVal sEntrada As Variant) As String
If sEntrada = [Ô][Ô] Or sEntrada = [Ô]0.00[Ô] Then
gVgPt = [Ô]0[Ô]
Exit Function
End If
sEntrada = Replace(sEntrada, [Ô].[Ô], [Ô][Ô])
sEntrada = Replace(sEntrada, [Ô],[Ô], [Ô].[Ô])
gVgPt = sEntrada
End Function
Se não for isso posta a estrutura do seu BD para podermos tentar ajudar
Funciona assim, o format arredonta um numero para X casas decimais ex:
Format(Valor,Casasdecimais)
onde de
conn.Execute [Ô]UPDATE itensatendimentos SET tabelacomdesconto = format(tabela, 2)[Ô]
se o valor de tabela for 522312
vai formatar paara 5,223.12, repare que este é o valor americano retornado
format (522312,4)
=> 5,223.1200
e é mais ou menos isto, teste ai
Format(Valor,Casasdecimais)
onde de
conn.Execute [Ô]UPDATE itensatendimentos SET tabelacomdesconto = format(tabela, 2)[Ô]
se o valor de tabela for 522312
vai formatar paara 5,223.12, repare que este é o valor americano retornado
format (522312,4)
=> 5,223.1200
e é mais ou menos isto, teste ai
Já utilizei o format dentro de um sql, mas tinha um truquezinho na sintaxe.
Era assim:
[Ô]SELECT * FROM [tabela] WHERE [campo] = [Ô] [campo] >= # [Ô] & Format(data, [Ô]mm/dd/yyyy[Ô]) & [Ô]# ORDER BY campoX [Ô]
Se bem que era para formatar data, mas eu acho que funciona com valor. E não esqueça, como disseram anteriormente, de trocar a vÃrgula pelo ponto, senão dá pau mesmo.
Era assim:
[Ô]SELECT * FROM [tabela] WHERE [campo] = [Ô] [campo] >= # [Ô] & Format(data, [Ô]mm/dd/yyyy[Ô]) & [Ô]# ORDER BY campoX [Ô]
Se bem que era para formatar data, mas eu acho que funciona com valor. E não esqueça, como disseram anteriormente, de trocar a vÃrgula pelo ponto, senão dá pau mesmo.
Olá,
declare @Valor as decimal (12,2)
set @valor = (select sum(VALOR) from TABELA where REGISTRO = 1)
print @Valor
Para o SQL Server 2008, pode ser assim.
Tem outro jeito, vou procurar e coloque no post depois.
Até,
Rogério.
declare @Valor as decimal (12,2)
set @valor = (select sum(VALOR) from TABELA where REGISTRO = 1)
print @Valor
Para o SQL Server 2008, pode ser assim.
Tem outro jeito, vou procurar e coloque no post depois.
Até,
Rogério.
Tópico encerrado , respostas não são mais permitidas