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

Convertir variable numeric a character en SQLServer

Estas en el tema de Convertir variable numeric a character en SQLServer en el foro de SQL Server en Foros del Web. ¿Como puedo convertir una variable numeric a character con SQLServer? Tengo esto, y DATO ES CHARACTER(10) DECLARE @AUX AS NUMERIC(3,2) SELECT @AUX = 20.5 SELECT ...
  #1 (permalink)  
Antiguo 24/11/2005, 06:49
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 19 años, 5 meses
Puntos: 0
Convertir variable numeric a character en SQLServer

¿Como puedo convertir una variable numeric a character con SQLServer?

Tengo esto, y DATO ES CHARACTER(10)

DECLARE @AUX AS NUMERIC(3,2)
SELECT @AUX = 20.5
SELECT @DATO = CONVERT (CHARACTER(10),@AUX)

Y eso me da un error de desbordamiento :S al usar la variable @DATO al imprimirla por pantalla. Y si pongo SELECT @DATO="20.5" va todo bien.

Tambien lo intentado con la función STR, usandola así:

SELECT @DATO =STR(@AUX,6,2)

Pero me da el mismo error

¿Alguien me puede ayudar?Ya no se q mas intentar
  #2 (permalink)  
Antiguo 24/11/2005, 12:55
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 19 años, 2 meses
Puntos: 3
Lo que pasa es que tienes mal asignada la variable numeric (3,2)... esta definicion significa que el numero en total tiene 3 digitos y 2 de ellos son decimales.... o sea, no puedes asignar el numero 20.5 a un numeric(3,2)...... aca puedes por ejemplo poner 2.05 eso esta bien.....

Lo otro usa el STR ..... es mejor que el CONVERT para estos casos
  #3 (permalink)  
Antiguo 24/11/2005, 16:30
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 19 años, 5 meses
Puntos: 0
Gracias monkyta, mañana lo probaré xq ya no sabia q hacer

Entonces si kiero x ejemplo 102.34 seria:

DECLARE @AUX AS NUMERIC(5,2)

no??mñn lo pruebo
  #4 (permalink)  
Antiguo 24/11/2005, 17:28
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 8 meses
Puntos: 25
Ten en cuenta que el tipo DECIMAL es en realidad (internamente) de tipo CHAR, así que sigues derrochando espacio y degradando el rendimiento.

Te recomiendo un real o float y no uses decimal a menos que sea estrictamente necesario.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 24/11/2005, 18:43
Avatar de Apolo
Colaborador
 
Fecha de Ingreso: abril-2003
Ubicación: ubicado
Mensajes: 7.961
Antigüedad: 21 años, 9 meses
Puntos: 109
Movido al foro de MS SQL Server.
  #6 (permalink)  
Antiguo 25/11/2005, 02:51
 
Fecha de Ingreso: julio-2005
Ubicación: España
Mensajes: 91
Antigüedad: 19 años, 5 meses
Puntos: 0
Era por lo q m habia dicho monkita, muchas gracias, ya me funciona todo bien

Los decimales los tengo q usar a la fuerza, ya q son necesarios para unos porcentajes y para hacer unos calculos

Saludos
  #7 (permalink)  
Antiguo 25/11/2005, 14:52
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años, 8 meses
Puntos: 25
Insisto un poco:

"decimales" <> tipo DECIMAL

Para tipos de punto flotante (decimales) tienes, entre los que me vienen a la mente:
-float
-real
-decimal
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 00:14.