Contoh pilih untuk memeriksa nilai yang diusulkan:
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
Perbarui pernyataan ..
Termasuk penanganan nilai nol (yaitu membiarkannya tidak tersentuh)
Termasuk penanganan nilai ilmiah dengan notasi E dalam nilai string sumber. misalnya 6.6699999999999995E-2
Termasuk menghilangkan angka nol di sisi kanan angka
Fungsi Format digunakan.
Fungsi STR dengan float meninggalkan angka nol, jadi saya tidak menggunakannya.
Fungsi Konversi dengan float ke string menentukan jumlah tempat desimalnya sendiri, jadi saya ingin menghindarinya juga!
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
Harap perhatikan bahwa 0 dalam penentu format memiliki arti tertentu.
Silakan lihat:
https://docs.microsoft .com/en-us/dotnet/standard/base-types/custom-numeric-format-strings