SQL - funcion convert

   
Vista:

funcion convert

Publicado por hector (3 intervenciones) el 21/08/2008 17:36:07
Estimado tengo problema con esta consulta sql donde quiero convertir un valor nvarchar a integer y ademas que se sumen la filas y me sale el siguiente error

"Error de sintaxis al convertir el valor nvarchar '10.5 "

select Fld_NomFarmaco , sum(cast(Fld_CantDespachada as int))as total from FAR_DetRecetas
Where Fld_FechaEntrega >= '01-05-2005'
group by Fld_NomFarmaco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:funcion convert

Publicado por Jorge Morales (25 intervenciones) el 21/08/2008 18:08:10
Saludos Hector, fijate bien que estás tratando de convertir un dato de tipo Real o Float a un entero, cambia tu tipo de conversion a Float o a Real así:

select Fld_NomFarmaco , sum(cast(Fld_CantDespachada as REAL))as total from FAR_DetRecetas
Where Fld_FechaEntrega >= '01-05-2005'
group by Fld_NomFarmaco

Con esto ya no tendrás el error, de cualquier forma cuentanos como te fué.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion convert

Publicado por hector (3 intervenciones) el 21/08/2008 20:49:46
todavia me sale este error

Error al convertir el tipo de datos nvarchar a real.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion convert

Publicado por Edgar RQM (2 intervenciones) el 21/08/2008 21:35:54
TE DEBE DE VOTAR ERRORES POR QUE NO TODOS LOS PUEDE CONVERTIR A NUMERICO INT REAL O FLOAT YA QUE ES UN TIPO DE DATOS CRACTER Y DEBE DE CONTENER CARACTERES QUE NO NECESARIAMENTE SON NUMEROS O PUNTOS, UTILIZA LA FUNCION ISNUMERIC PARA DETECTAR SI HAY ALGUN DATO QUE NO CUMPLE LAS CONDICIONES DE CONVERSION A

SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion convert

Publicado por hector (3 intervenciones) el 21/08/2008 22:23:35
probe y me sale que puede ser cambiable no puedo enteder en que me equivoco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion convert

Publicado por Jorge Morales (25 intervenciones) el 21/08/2008 23:06:15
Saludos, utiliza la funcion que te indico el amigo Edgar en el filtro de registros (WHERE) algo así:

select Fld_NomFarmaco , sum(cast(Fld_CantDespachada as int))as total
from FAR_DetRecetas
Where Fld_FechaEntrega >= '01-05-2005'
and isnumeric(Fld_CantDespachada) = 1 <-------que sean numericos
group by Fld_NomFarmaco

o tambien puedes verificar cuales son los registros que no te está convirtiendo:

select Fld_CantDespachada
from FAR_DetRecetas
Where Fld_FechaEntrega >= '01-05-2005'
and isnumeric(Fld_CantDespachada) = 0 <-------que no sean numericos
group by Fld_NomFarmaco

aunque mi recomendacion es que no uses campos de tipo nvarchar para guardar solo numeros, y mucho menos si con ellos piensas hacer operaciones. Agrega un campo de tipo float o cambiale el tipo al campo que tienes (CantDespachada), en fin, si guardas solo numeros será la mejor opcion para evitarte todos estos problemas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:funcion convert

Publicado por Isaias (5073 intervenciones) el 22/08/2008 21:16:41
Eso seria la solucion total y adecuada, solo faltaria ver si nuestro amigo no tiene problemas con su aplicativo, que seguramente no es "in-house"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar