Esempio selezionare per verificare i valori proposti:
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
Dichiarazione di aggiornamento..
Include la gestione del valore nullo (cioè li lascia intatti)
Include la gestione dei valori scientifici con la notazione E nei valori della stringa di origine. per esempio. 6.669999999999999995E-2
Include la rimozione dello zero finale sul lato destro del numero
Viene utilizzata la funzione Formato.
La funzione STR con un float lascia degli zeri finali, quindi non l'ho usato.
La funzione Converti con un float in una stringa determina il proprio numero di posizioni decimali, quindi volevo evitare anche quello!
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
Tieni presente che lo 0 nell'identificatore di formato ha un significato specifico.
Si prega di vedere:
https://docs.microsoft. .com/en-us/dotnet/standard/base-types/custom-numeric-format-strings