SQL Server - Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar ' #01

 
Vista:
sin imagen de perfil
Val: 8
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar ' #01

Publicado por Juan Antonio (10 intervenciones) el 04/04/2014 23:03:49
Estimados.

Muy buenas Tardes,

necesito de su ayuda y a ver si alguien me puede ayudar.

Me sucede lo siguiente, tengo una tabla con tipos de datos varchar (50) y quiero hacer un select, pero al filtrar por un número determinado, me da un error "Msg 245, Level 16, State 1, Line 1
Error de conversión al convertir el valor varchar ' #015' al tipo de datos int."

imagino el select no puede mostrar el número #015 y por eso me da ese error.

Msg 245, Level 16, State 1, Line 1
Error de conversión al convertir el valor varchar ' #015' al tipo de datos int.

Query
--------
SELECT * FROM cdr
where fecha between '20140401' and '20140403'
and calling_num = 52271

al lanzar esta query, es cuando me da el error.

Apelo a vuestra ayuda...
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar

Publicado por Isaias (4558 intervenciones) el 04/04/2014 23:12:18
Es muy simple el error, si tu campo calling_num, es de tipo CHAR, no debes hacer comparaciones con NUMEROS, ya que hace un CONVERT implícito.

Prueba con

and calling_num = '52271'

Nota que le coloco los apostrofes al numero 52271
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
sin imagen de perfil
Val: 8
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar

Publicado por Juan (10 intervenciones) el 04/04/2014 23:16:44
Estimado,

ya probé con comillas simples, pero no me muestra nada. siendo que el número por el cuel filtro, existe en el campo.

calling_num varchar (50)
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar

Publicado por Isaias (4558 intervenciones) el 05/04/2014 00:22:07
¿Te da algún resultado esta cosulta?


SELECT * FROM cdr
where fecha between '20140401' and '20140403'
and calling_num = '#015'
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar

Publicado por Isaias (4558 intervenciones) el 05/04/2014 00:35:40
Si el siguiente query NO TE DA NADA:

SELECT * FROM cdr
where fecha between '20140401' and '20140403'
and calling_num = '52271'

Es porque NO se cumple tu filtro, ya sea por rango de fechas o por calling_num
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
sin imagen de perfil
Val: 8
Ha aumentado 1 puesto en SQL Server (en relación al último mes)
Gráfica de SQL Server

Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar

Publicado por Juan Antonio (10 intervenciones) el 07/04/2014 18:42:42
La verdad que no me resultó, asi que lo hice filtrando, usé un like para identificar este valor a filtrar (52271)
como debía buscar ese filtro en dos columnas, las identifiqué de esta manera...

select * from cdrt
where fecha between 20140401 and 20140403
and calling_num LIKE '%52271%'
order by calling_num asc

select * from cdrt
where fecha between 20140401 and 20140403
and dialed_num LIKE '%52271%'
order by dialed_num asc
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
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Msg 245, Level 16, State 1, Line 1 Error de conversión al convertir el valor varchar

Publicado por Isaias (4558 intervenciones) el 08/04/2014 00:11:15
Claro que el LIKE es mucho mas lento.

El filtro, porque no usas un OR?
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