Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera eu tenho no meu banco os seguintes valores
1.099.99
799.99
699.99
quando eu dou o max de qualquer forma ele só me retorna 799 como faço pra ele trazer certo???
Este ponto não é decimal, é o ponto de separação de milhares, o número é tratado como CHAR e sua ordenação muda.
É como o Motta disse, o primeiro valor 1.099.99 deve ser inserido como 1099.99, sem o ponto (.) separando o milhar...
Esse é o problema no banco no qual estou trabalhando esta inserindo assim, nao tem um jeito de dar um replace pra eu trazer o resultado esperado, o que vcs estao me dizendo é que tenho que alterar todo meu banco?
Tente um REPLACE e converter para numérico (não sei qual a function faz isto)
O ruim de usar tipos "errados" é este , ter de dar volta para coisa simples.
o meu Deus :cry:
é possivel eu dar um replace apenas no primeiro ponto de um campo
por exemplo se vier 1.333.33
eu dar um replace e ficar 1333.33
tente fazer isso:
Max(covert(valor, decimal)) as valor
Tambem nao deu, vou precisar gravar certo mas a principio nao consigo tirar o maximo do valor com os campos dessa maneira. obrigado
Mas deu o mesmo resultado ?
Aonde esta escrito valor você alterou para seu campo de valor?
Quantos registros são? Qual o tipo atual do campo?
Use CONVERT
Algo assim, creio, pois tem os pontos das casas dos milhares,
Max(covert(replace(valor,'.',''), decimal)) as valor
putz cara, me salvou hen , assim me retornou o que queria, agora vo trabalhar isso ai...obrigado !
Mas se quer um conselho tente alterar para a tipagem correta, este tipo de solução não é bom.
qual a tipagem que vc me aconselha? no formulario tem um jquery que coloca 2,000,00
e apenas tiro os , e coloco ponto.
que vc me aconselharia a fazer?:
Este ponto não é decimal, é o ponto de separação de milhares, o número é tratado como CHAR e sua ordenação muda.