Chọn ví dụ để kiểm tra các giá trị được đề xuất:
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
Cập nhật báo cáo ..
Bao gồm việc xử lý giá trị rỗng (tức là để nguyên giá trị)
Bao gồm xử lý các giá trị khoa học với ký hiệu E trong các giá trị chuỗi nguồn. ví dụ. 6.6699999999999995E-2
Bao gồm loại bỏ số 0 ở phía sau bên phải của số
Chức năng Định dạng được sử dụng.
Hàm STR với một số float để lại các số không ở cuối, vì vậy tôi không sử dụng hàm đó.
Hàm Chuyển đổi với một số nổi thành một chuỗi xác định số chữ số thập phân của chính nó, vì vậy tôi cũng muốn tránh điều đó!
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
Xin lưu ý rằng số 0 trong trình định dạng có một ý nghĩa cụ thể.
Vui lòng xem:
https://docs.microsoft .com / en-us / dotnet / standard / base-type / custom-numeric-format-string