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

error comvirtiendo data

Estas en el tema de error comvirtiendo data en el foro de SQL Server en Foros del Web. Muchachos buenos dias: una cconsulta rapido por favor tengo una tabla con todos los campos declarado en varchar y necesito realizar esta consulta: cast(c.totalbruto AS ...
  #1 (permalink)  
Antiguo 29/10/2009, 08:11
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo error comvirtiendo data

Muchachos buenos dias:

una cconsulta rapido por favor

tengo una tabla con todos los campos declarado en varchar

y necesito realizar esta consulta:

cast(c.totalbruto AS float(10, 5)) > 0

cuando el valor de TOTALBRUTO es positivo me da el resultado que espero pero cuando TOTALBRUTO es negativo me arroga el siguiente error :

Error converting data type varchar to float.

como puedo solventar esto por favor???

muchas gracias.
  #2 (permalink)  
Antiguo 29/10/2009, 09:40
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: error comvirtiendo data

cual es el dato con el que truena?

por ejemplo: '- 23' y '23-' fallarian, pero '-23' debe funcionar...

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 29/10/2009, 13:42
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo Respuesta: error comvirtiendo data

po ejemplo me vienen monto asi:

29.00-

pero si me llega asi 29.00, correo perfecto es el signo el que no me permite ajecutar la consulta.
  #4 (permalink)  
Antiguo 29/10/2009, 13:55
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: error comvirtiendo data

tendrias que pasarlo al inicio..

algo como esto te podria servir..

Código:
DECLARE @MyTable TABLE ( col1 VARCHAR(10) )

INSERT INTO @MyTable VALUES ( '123')
INSERT INTO @MyTable VALUES ( '3456.00-')

SELECT  CAST (CASE CHARINDEX( '-', col1 ) 
                   WHEN 0 THEN col1 
                   ELSE '-' + LEFT( col1, LEN(col1 )-1 ) 
              END 
              AS FLOAT) col1
FROM @MyTable


----

col1                                                  
----------------------------------------------------- 
123.0
-3456.0

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.
  #5 (permalink)  
Antiguo 29/10/2009, 14:31
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo Respuesta: error comvirtiendo data

Disculpa que abuse pero podrias explicarme el codigo a grueso modo no lo entiendo por favor.

muchas gracias.
  #6 (permalink)  
Antiguo 29/10/2009, 17:25
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: error comvirtiendo data

antes de tartar de convertir el campo en un valor de coma flotante:
- Verifica si tiene guiones,
- Si es asi, asumiendo que vienen al final,
concatena un guion al inicio y elimina el guion del final
- Sino, toma el campo tal cual viene (ya que es positivo).


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.
  #7 (permalink)  
Antiguo 30/10/2009, 11:47
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: error comvirtiendo data

Andres95, un reconocimiento por su paciencia y dedicacion, saludos
  #8 (permalink)  
Antiguo 30/10/2009, 13:25
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: error comvirtiendo data



En lo que pueda ser util (siempre y cuando disponga de tiempo libre), ya saben...


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.
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 18:19.