Eksempel vælg for at kontrollere foreslåede værdier:
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
Opdater erklæring ..
Inkluderer håndtering af nulværdi (dvs. lader dem være urørte)
Omfatter håndtering af videnskabelige værdier med E-notation i kildestrengværdier. for eksempel. 6.6699999999999995E-2
Inkluderer fjernelse af det efterfølgende nul på højre side af nummeret
Format-funktionen bruges.
STR-funktionen med en float efterlader bagende nuller, så det brugte jeg ikke.
Funktionen Konverter med en float til en streng bestemmer dets eget antal decimaler, så det ville jeg også undgå!
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
Bemærk venligst, at 0'et i formatspecifikationen har en specifik betydning.
Se venligst:
https://docs.microsoft .com/en-us/dotnet/standard/base-types/custom-numeric-format-strings