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

definir cantidad de lugares decimales a un float en sql-server

Estas en el tema de definir cantidad de lugares decimales a un float en sql-server en el foro de SQL Server en Foros del Web. alguien sabe como puedo definir cantidad de lugares decimales a un float en sql-server? es que cuando inserto en la tabla me pone varios decimales... ...
  #1 (permalink)  
Antiguo 13/05/2008, 13:02
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 19 años, 3 meses
Puntos: 0
definir cantidad de lugares decimales a un float en sql-server

alguien sabe como puedo definir cantidad de lugares decimales a un float en sql-server? es que cuando inserto en la tabla me pone varios decimales...
gracias de antemano
  #2 (permalink)  
Antiguo 14/05/2008, 06:26
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: definir cantidad de lugares decimales a un float en sql-server

El tipo float define un valor aproximado y tiene la mayor precision.

Si requieres un valor con un numero determinado de decimales puedes utilizar un tipo Decimail (Precision,Escala)
Donde la precision indica el numero total de digitos a utilizar (incluyendo los numeros decimales), y la escala el numero de decimales que deseas.

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 18/08/2009, 21:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 4
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Re: definir cantidad de lugares decimales a un float en sql-server

lee este articulo donde hasta donde yo entendi difiere de la anterior respuesta.

Libros en pantalla de SQL Server 2008 (mayo de 2009)
Usar datos decimal, float y real

El tipo de datos decimal puede almacenar un máximo de 38 dígitos y todos pueden estar a la derecha del separador decimal. El tipo de datos decimal almacena una representación exacta del número; no hay una aproximación del valor almacenado.

Los dos atributos que definen las columnas, variables y parámetros del tipo de datos decimal son:

* p
Especifica la precisión, o el número de dígitos que puede contener el objeto.
* s
Especifica la escala o el número de dígitos que puede colocarse a la derecha del separador decimal.
p y s deben respetar la regla: 0 <= s <= p <= 38.

La precisión máxima predeterminada de los tipos de datos numeric y decimal es 38. En Transact-SQL, numeric equivale funcionalmente al tipo de datos decimal.

Use el tipo de datos decimal para almacenar números con decimales cuando los valores de datos se deban almacenar exactamente como se especifican.

Para obtener más información acerca de cómo afectan las operaciones matemáticas a la precisión y la escala del resultado, vea Precisión, escala y longitud (Transact-SQL).
Utilizar datos float y real

Los tipos de datos float y real se conocen como tipos de datos aproximados. El comportamiento de float y real sigue la especificación IEEE 754 acerca de los tipos de datos numéricos aproximados.

Los tipos de datos numéricos aproximados no almacenan los valores exactos especificados para muchos números; almacenan una aproximación muy precisa del valor. Para muchas aplicaciones, la pequeña diferencia entre el valor especificado y la aproximación almacenada no es apreciable. Sin embargo, a veces la diferencia se hace notar. Debido a la naturaleza aproximada de los tipos de datos float y real, no los use cuando necesite un comportamiento numérico exacto, como, por ejemplo, en aplicaciones financieras, en operaciones que conlleven un redondeo o en comprobaciones de igualdad. En su lugar, use los tipos de datos enteros, decimal, money o smallmoney.

Evite usar columnas float o real en las condiciones de búsqueda de la cláusula WHERE, especialmente los operadores = y <>. Es aconsejable limitar las columnas float y real a las comparaciones > o <.

La especificación IEEE 754 proporciona cuatro modos de redondeo: redondear al más cercano, redondear hacia arriba, redondear hacia abajo y redondear a cero. Microsoft SQL Server utiliza el redondeo hacia arriba. Todos son precisos para garantizar la exactitud, aunque pueden dar como resultado valores en punto flotante ligeramente distintos. Puesto que la representación binaria de un número en punto flotante puede usar cualquiera de los esquemas válidos de redondeo, no se puede cuantificar de forma precisa un valor en punto flotante.

no te pongo el link porque aqui porque no me permite hasta que tenga no se que cantidad de respuestas publicadas.
  #4 (permalink)  
Antiguo 19/08/2009, 07:53
 
Fecha de Ingreso: abril-2009
Mensajes: 40
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: definir cantidad de lugares decimales a un float en sql-server

declara una variable de la siguiente manera:

DECLARE @NUMERO DECIMAL(4,1) -- EN DONDE EL 1 ES EL NUMERO DE DECIMALES
  #5 (permalink)  
Antiguo 19/08/2009, 09:50
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: definir cantidad de lugares decimales a un float en sql-server

chino-pelex: ¿Donde esta la diferencia entre lo que traes del BOL y lo que explica Andres95?

BOL: El tipo de datos decimal puede almacenar un máximo de 38 dígitos y todos pueden estar a la derecha del separador

Andres95: Si requieres un valor con un numero determinado de decimales puedes utilizar un tipo Decimail (Precision,Escala)

BOL: Los tipos de datos float y real se conocen como tipos de datos aproximados
Andres95: El tipo float define un valor aproximado y tiene la mayor precision
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

SíEste tema le ha gustado a 1 personas




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