Saltar al contenido

Cómo convertir float a varchar en SQL Server

Solución:

Intente usar el STR() función.

SELECT STR(float_field, 25, 5)

Función STR ()


Otra nota: esta almohadilla a la izquierda con espacios. Si esto es un problema, combine con LTRIM:

SELECT LTRIM(STR(float_field, 25, 5))

El único bit de consulta que encontré que devuelve el mismo número original EXACTO es

CONVERT (VARCHAR(50), float_field,128)

Consulte http://www.connectsql.com/2011/04/normal-0-microsoftinternetexplorer4.html

Las otras soluciones anteriores a veces redondearán o agregarán dígitos al final

ACTUALIZAR: Según los comentarios a continuación y lo que puedo ver en https://msdn.microsoft.com/en-us/library/ms187928.aspx:

CONVERT (VARCHAR(50), float_field,3)

Debe usarse en nuevas versiones de SQL Server (Azure SQL Database, y comenzando en SQL Server 2016 RC3)

esta es la solución que terminé usando en sqlserver 2012 (ya que todas las otras sugerencias tenían el inconveniente de truncar la parte fraccionaria o algún otro inconveniente).

declare @float float = 1000000000.1234;
select format(@float, N'#.##############################');

producción:

1000000000.1234

esto tiene la ventaja adicional (en mi caso) de facilitar el separador de miles y la localización:

select format(@float, N'#,##0.##########', 'de-DE');

producción:

1.000.000.000,1234
¡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 *