Saltar al contenido

La conversión del valor varchar desbordó una columna int

Posterior a de una extensa recopilación de información solucionamos esta duda que presentan algunos usuarios. Te ofrecemos la solución y esperamos resultarte de mucha apoyo.

Solución:

Declare @phoneNumber int

select @phoneNumber=Isnull('08041159620',0);

dar error:

The conversion of the varchar value '8041159620' overflowed an int column.: select cast('8041159620' as int)

COMO

entero se define como:

Datos enteros (número entero) desde -2^31 (-2,147,483,648) hasta 2^31 – 1 (2,147,483,647). El tamaño de almacenamiento es de 4 bytes. El sinónimo de SQL-92 para int es entero.

Solución

Declare @phoneNumber bigint

Referencia

Gracias Ravi y otros usuarios … Sin embargo, tengo la solución.

SELECT @phoneNumber=
CASE 
  WHEN  ISNULL(rdg2.nPhoneNumber  ,'0') in ('0','-',NULL)
THEN ISNULL(rdg2.nMobileNumber, '0') 
  WHEN ISNULL(rdg2.nMobileNumber, '0')  in ('0','-',NULL)
THEN '0'
  ELSE ISNULL(rdg2.nPhoneNumber  ,'0')
END 
FROM tblReservation_Details_Guest  rdg2 
WHERE [email protected]

Solo necesita poner ‘0’ en lugar de 0

Sección de Reseñas y Valoraciones

Si piensas que ha resultado de provecho nuestro post, agradeceríamos que lo compartas con otros seniors de esta forma contrubuyes a dar difusión a nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *