Voorbeeld selecteren om voorgestelde waarden te controleren:
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
Verklaring bijwerken ..
Omvat verwerking van null-waarde (d.w.z. laat ze onaangeroerd)
Omvat verwerking van wetenschappelijke waarden met E-notatie in brontekenreekswaarden. bijv. 6.6699999999999995E-2
Omvat het verwijderen van de nul aan de rechterkant van het nummer
De formaatfunctie wordt gebruikt.
De STR-functie met een float laat nullen achter, dus die heb ik niet gebruikt.
De Convert-functie met een float naar een string bepaalt zijn eigen aantal decimalen, dus dat wilde ik ook vermijden!
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
Let op:de 0 in de formaatspecificatie heeft een specifieke betekenis.
Zie:
https://docs.microsoft .com/en-us/dotnet/standard/base-types/custom-numeric-format-strings