Si está almacenando números de teléfono en una columna de tipo flotante (lo cual es una mala idea), se supone que son todos enteros y podrían convertirse a int antes de enviarlos a nvarchar.
Así que en lugar de:
select cast(cast(1234567890 as float) as nvarchar(50))
1.23457e+009
Se podría utilizar:
select cast(cast(cast(1234567890 as float) as int) as nvarchar(50))
1234567890
En estos ejemplos, el más interno cast(1234567890 as float)
se utiliza en lugar de seleccionar un valor de la columna correspondiente.
¡Realmente recomiendo que no almacene números de teléfono en flotadores!
¿Qué pasa si el número de teléfono comienza con un cero?
select cast(0100884555 as float)
100884555
¡Vaya! Acabamos de guardar un número de teléfono incorrecto ...
Aunque un número de teléfono es un tipo de 'número', una regla general es SÓLO almacenar cosas como números si está planeando hacer algún tipo de cálculo con ellos. Si el número que intenta almacenar nunca va a necesitar ninguna manipulación (con la excepción de una actualización o algo similar), debe almacenarlos como una cadena de algún tipo. – syllogism