Exemple de sélection pour vérifier les valeurs proposées :
select
case when ISNULL([Call Length], '') = ''
then ''
else
FORMAT(Cast ( CONVERT(numeric(16,4), CAST([Call Length] AS FLOAT)) as float),'########0.####')
end as val123
from Clinical.AAAJFJunk
Mettre à jour l'instruction ..
Inclut la gestion des valeurs nulles (c'est-à-dire les laisse intactes)
Inclut la gestion des valeurs scientifiques avec la notation E dans les valeurs de chaîne source. par exemple. 6.6699999999999995E-2
Inclut la suppression du zéro à droite du numéro
La fonction Format est utilisée.
La fonction STR avec un flottant laisse des zéros à la fin, donc je ne l'ai pas utilisé.
La fonction Convertir avec un flottant en une chaîne détermine son propre nombre de décimales donc je voulais éviter cela aussi !
UPDATE Clinical.AAAJFJunk
SET [Call Length] =
case when ISNULL([Call Length], '') = ''
then '' else
FORMAT(Cast ( CONVERT(numeric(16,4), CAST([Call Length] AS FLOAT)) as float),'########0.####') end
Veuillez noter que le 0 dans le spécificateur de format a une signification spécifique.
Veuillez consulter :
https://docs.microsoft .com/en-us/dotnet/standard/base-types/custom-numeric-format-strings