প্রশ্ন তুলনামূলক সহজ। আমাকে 3 টি কলাম গণনা করতে হবে যেখানে মাঝের ফলাফলগুলি বিশাল দশমিক are এবং আমি এসকিউএল সার্ভারের সাথে প্রাথমিকভাবে কোনও কাস্ট / রূপান্তর নির্বিশেষে দশমিকের বৃত্তাকারে একটি সমস্যায় পড়ছি।
উদাহরণস্বরূপ, আসুন 1234/1233 হিসাবে একটি সাধারণ বিভাগ করি। একটি ক্যালকুলেটর 1,00081103000811 উত্পাদন করবে। আমি যখন এসকিউএল সার্ভারে এটি করি তখন আমরা নিম্নলিখিতগুলি পাই:
-- Result: rounded at 1.000811000... with trailing zeroes up until the 37 precision
SELECT CAST(CAST(1234 AS DEC(38,34))/CAST(1233 AS DEC(38,34)) AS DEC(38,37))
-- Result: rounded at 1.000811
SELECT CONVERT(DECIMAL(38,32), 1234)/CONVERT(DECIMAL(38,32),1233)
-- Correct result at 1,00081103000811
-- But this requires the zeroes to be put in manually when you don't
-- even know the precision of the end result
SELECT 1234.0/1233.00000000000000
কেন এই স্বয়ংক্রিয় রাউন্ডিং ঘটে? এবং দীর্ঘতম দশমিক মানগুলি গণনা করার সর্বোত্তম উপায় কী যখন আপনি নিশ্চিত হতে পারবেন না যে কোনও সংখ্যা (ইন্ট বা ডেস অংশ) কত বড় হবে, যেহেতু সারণীতে বিভিন্ন ভিন্ন মান থাকতে পারে?
ধন্যবাদ!