प्रस्तावित मूल्यों की जांच के लिए उदाहरण का चयन करें:
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
अपडेट स्टेटमेंट ..
शून्य मान को संभालना शामिल है (अर्थात उन्हें अछूता छोड़ देता है)
स्रोत स्ट्रिंग मानों में ई नोटेशन के साथ वैज्ञानिक मूल्यों को संभालना शामिल है। जैसे 6.6699999999999995E-2
संख्या के दाईं ओर अनुगामी शून्य को हटाना शामिल है
फ़ॉर्मेट फ़ंक्शन का उपयोग किया जाता है।
फ्लोट के साथ एसटीआर फ़ंक्शन शून्य के पीछे छोड़ देता है, इसलिए मैंने इसका उपयोग नहीं किया।
एक फ्लोट के साथ एक स्ट्रिंग में कनवर्ट फ़ंक्शन यह निर्धारित करता है कि यह दशमलव स्थानों की संख्या है इसलिए मैं इससे भी बचना चाहता था!
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
कृपया ध्यान दें कि प्रारूप विनिर्देशक में 0 का एक विशिष्ट अर्थ होता है।
कृपया देखें:
https://docs.microsoft .com/en-us/dotnet/standard/base-types/custom-numeric-format-strings