Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Que nombre dar a un campo que tendrá precios

Estas en el tema de Que nombre dar a un campo que tendrá precios en el foro de Mysql en Foros del Web. Hola, quizá mi pregunta sea algo básica... necesito armar una tabla que tendrá nombre de productos y sus respectivos precios . Ejem: precio 12.300 5.850 ...
  #1 (permalink)  
Antiguo 18/10/2012, 06:01
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Pregunta Que nombre dar a un campo que tendrá precios

Hola, quizá mi pregunta sea algo básica...

necesito armar una tabla que tendrá nombre de productos y sus respectivos precios.
Ejem:

precio
12.300
5.850
1.200
15.700

El campo precio no se de que tipo debe ser ya que la idea además, es ir poder sumando estos valores.
Gracias!
  #2 (permalink)  
Antiguo 18/10/2012, 06:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Que nombre dar a un campo que tendrá precios

DECIMAL, según lo que recomienda el manual para toda aquelal columna que deba almacenar valores monetarios o que requieran precisión.
No uses ni FLOAT, ni DOUBLE, ni ningún otro tipo de dato que sea de punto flotante, porque son datos por aproximación, y eventualmente te encontrarás con diferencias contables que te causarán serios problemas (y no sólo con las consultas, también legales en algún caso).
Con DECIMAL se debe indicar la longitud total, incluyendo el espacio de la coma decimal, y la cantidad de dígitos totales.
Esto significa que DECIMAL(14,3) puede representar este número: 1234567890.999.
¿Se entiende?

Una cosa: toma debida nota de que en el SQL, los números no se almacenan con los separadores de miles, y que la coma decimal es el punto decimal, como en inglés.
Es decir que el 1.456,72 se envía a la base como 1456.72.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/10/2012, 07:01
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Que nombre dar a un campo que tendrá precios

Muchas gracias por tu respuesta, por cierto, ingresé directamente los valores:
1.200
5.530
7.500

y efectivamente no los guarda de tal manera.

debería ingresarlos así:

1200
5530
7500

...?
muchas gracias por tu tiempo.
  #4 (permalink)  
Antiguo 18/10/2012, 07:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Que nombre dar a un campo que tendrá precios

Exacto.
En realidad ningún sistema de bases de datos almacena números como cifras, ni tampoco los separadores de miles o incluso el punto decimal. Esos son cosas de la representación en pantalla.
Los valores numéricos se almacenan en las bases de datos como numero binarios, usando nibbles, singles, doubles, etc. El sistema es el que decodifica a sistema decimal lo almacenado, para que lo podamos entenderlo.
Por eso un número como 18.446.744.073.709.551.616, sólo necesita 8 bytes para ser almacenado.
Por su lado, los decimales se almacenan también como binarios, en formato mantisa+exponente, y eso es precisamente lo que hace que el numero sea por aproximación, y no un numero preciso.
La implementación del DECIMAL, por su lado, está diseñada de otro modo, y trabaja con ambas partes (entera y decimal) como números enteros. Por eso usa otra definición del espacio.
Todos estos detalles se aprenden en realidad cuando estudias sistemas, y en general son transparentes al usuario, porque lo único que necesita saber es qué usar para obtener lo que necesita.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 18/10/2012, 07:52
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Que nombre dar a un campo que tendrá precios

Muchas gracias por tu explicación y desde luego que por el tiempo prestado. Me quedo muy clara tu explicación.
Saludos.
  #6 (permalink)  
Antiguo 18/10/2012, 08:24
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 16 años, 8 meses
Puntos: 4
Respuesta: Que nombre dar a un campo que tendrá precios

bien, para dar por terminado quisiera aportar lo siguiente:

Ingrese los valores:

5900
7100

y con la siguiente consulta:

Código PHP:
$result mysql_query("SELECT  SUM(precio) as total FROM productos WHERE sugerido = 'si' ");   
$row mysql_fetch_array($result);

echo 
number_format($row['total']); 
obtuve el siguiente resultado:

13.000

....que era lo que yo esperaba.
Muchas gracias.

Etiquetas: nombre, precios, tabla, tipo, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:35.