[SQL Server] Convertir une valeur de type float en varchar

-- =============================================

-- Author:        Zouhaier KHARROUBI

-- Create date:   25/10/2016

-- Description:   Convertir une valeur de type float en varchar

-- =============================================

DECLARE @VARIABLE_FLOAT AS FLOAT

DECLARE @VRAIABLE_VARCHAR AS VARCHAR(25)

SELECT @VARIABLE_FLOAT=355762053846917

SELECT @VRAIABLE_VARCHAR = @VARIABLE_FLOAT

SELECT @VRAIABLE_VARCHAR

--Le résultat est 3.55762e+014

--La résolution de cette anomalie se fait via la méthode ci-dessous

SELECT @VRAIABLE_VARCHAR = CAST(CAST(@VARIABLE_FLOAT AS BIGINT) AS VARCHAR(25))

SELECT @VRAIABLE_VARCHAR

--Le résultat est 355762053846917

--Lorsque les données viennent par exemple d'un fichier Excel et la colonne peut contenir une valeur numérique ou un valeur alphanumérique utilser la méthode ci-dessous

SELECT @VRAIABLE_VARCHAR = '"' + CASE ISNUMERIC(@VARIABLE_FLOAT) WHEN 1 THEN CAST(CAST(@VARIABLE_FLOAT AS BIGINT) AS VARCHAR(25)) ELSE CAST(@VARIABLE_FLOAT AS VARCHAR(25)) END + '"'

SELECT @VRAIABLE_VARCHAR=REPLACE(@VRAIABLE_VARCHAR,'"','')

SELECT @VRAIABLE_VARCHAR

--Le résultat est 355762053846917