Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Como hacer este Update de una columna... (https://www.clubdelphi.com/foros/showthread.php?t=49401)

AFilth 20-10-2007 14:32:18

Como hacer este Update de una columna...
 
Hola a todos,

Tengo una tabla con una columna de Precio que es Float, quiero hacer un update de esa columna en la tabla para poner nuevos precios:

update articulos set precio = (precio * 0.85)

El problema es que me salen muchísimos decimales y sólo quiero dos.

Lo he intentado con Round y con format pero no lo consigo...

Cual es la forma correcta?

Un saludo.

poliburro 20-10-2007 17:36:22

ya que colocas la pregunta en este apartado supongo que usas SqlServer,

Partiendo de ese supuesto la consulta quedaría así:

Código SQL [-]
   update articulos 
        set precio = Convert(Numeric(18,2),precio * 0.85)

convert devuelve un numérico de 16 dígitos con 2 decimales.

Suerte

AFilth 20-10-2007 17:51:52

Muchas gracias por la respuesta`pero me sigue pasando lo mismo...

Por ejemplo algo de 74.0 me lo transforma en 64.599999999999994.

Alguna idea más?

PD: Utilizo SLQ Server 2000

poliburro 20-10-2007 18:33:12

que raro, no debería hacerte eso,

Ok, entonces redefine el campo en la tabla, definelo como numérico 18,2

eso debe solucionarlo. Suerte

AFilth 20-10-2007 20:40:28

Cambiando a numeric perfecto, lo otro no sé poruq elo estará haciendo...

Un saludo.

Lepe 21-10-2007 01:28:03

Los campos Float funcionan así, de hecho no se recomienda para almacenar cantidades monetarias. Posiblemente estén por compatibilidad, porque la verdad, no sé para qué puede servir un número que no es el que hemos guardado :D.

Saludos

ContraVeneno 24-10-2007 19:49:13

¿ porque definir un campo "Decimal(18,2)" para almacenar cantidades monetarias cuando lo puedes definir como tipo "money" ?

nuk3zito 27-10-2007 01:02:57

Cita:

Empezado por poliburro (Mensaje 240018)
ya que colocas la pregunta en este apartado supongo que usas SqlServer,

Jajaja, no pude evitar la risa, partiendo de experiencias pasadas en donde alguien que quiere algo para Access se mete a este foro :p


La franja horaria es GMT +2. Ahora son las 22:51:32.

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