Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-01-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 17
microbiano Va por buen camino
sql para truncar

hola quiero truncar el resultado de una operacion a 2 decimales y lo hago de la siguiente manera
Código SQL [-]
SELECT     GPO, GEN, ESP, ROUND(IMPORTE_MAX / MAXIMO, 2, 1) AS importe
FROM         REQUERIMIENTO
sin embargo lo que realmente hace esta funcion es redondear por ejemplo

si el resultado es
3.259999999
quiero truncarlo a 3.25

y la consulta que hago me da como resultado 3.26

alguna sugerencia por aqui, la base de datos es sqlserver 2000.

saludos
Responder Con Cita
  #2  
Antiguo 18-01-2011
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 20
luisgutierrezb Va por buen camino
según Microsoft si especificas un tercer parámetro en la función round diferente de cero, trunca el valor no lo redondea
Responder Con Cita
  #3  
Antiguo 19-01-2011
urixiv urixiv is offline
Miembro
 
Registrado: sep 2006
Posts: 23
Poder: 0
urixiv Va por buen camino
Hola, tambien puedes utilizar un cast a decimal.
Sería algo asi como
Código SQL [-]
cast(campo as Decimal(10,2))
donde campo es tú campo y 10 es el maximo de digitos que tendrá el número y 2 la cantidad de decimales que quieres.

Espero que te ayude
Responder Con Cita
  #4  
Antiguo 19-01-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 17
microbiano Va por buen camino
Sigue Redondeando Despues De Las Respuestas Recibidas Alguna Otra Sugerencia.
Responder Con Cita
  #5  
Antiguo 19-01-2011
urixiv urixiv is offline
Miembro
 
Registrado: sep 2006
Posts: 23
Poder: 0
urixiv Va por buen camino
Prueba con esto
Código SQL [-]
select cast(round(3489.8899999999, 2, 1) as decimal(10,2))
a mi me funciona y me devuelve 3489.88

Espero que esto sí te sirva..
ya nos dirás!!!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Truncar flotantes pecosita C++ Builder 1 18-09-2006 18:14:50
Truncar Horas lucasarts_18 MS SQL Server 6 02-02-2006 15:03:44
truncar un float federiconqn21 Varios 4 17-01-2006 15:06:08
Truncar o que: alcides SQL 5 17-06-2005 01:34:24
TRuncar la fecha Sandochan Conexión con bases de datos 1 31-05-2003 17:39:58


La franja horaria es GMT +2. Ahora son las 22:03:23.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi