[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