উত্তর:
এটা চেষ্টা কর
SELECT CONVERT(DECIMAL(10,2),YOURCOLUMN)
Str()
ফাংশন ব্যবহার করুন । এটি তিনটি আর্গুমেন্ট লাগে (সংখ্যাটি প্রদর্শন করতে মোট অক্ষরের সংখ্যা, এবং দশমিক স্থান প্রদর্শন করার জন্য)
Select Str(12345.6789, 12, 3)
প্রদর্শন করে: '12345.679' (3 স্পেস, 5 ডিজিট 12345, একটি দশমিক পয়েন্ট এবং তিন দশমিক সংখ্যা (679) tr - এটি কেটে ফেলতে হবে যদি এটি গোল হয়, (যদি পূর্ণসংখ্যার অংশটি মোট আকারের জন্য খুব বড় না হয়, তবে এই ক্ষেত্রে তার পরিবর্তে তারকাচিহ্নগুলি প্রদর্শিত হয়))
দশমিক বিন্দুর ডানদিকে 3 দিয়ে মোট 12 টি অক্ষরের জন্য।
it rounds if it has to truncate
... যদি না পূর্ণসংখ্যার অংশটি মোট আকারের জন্য খুব বড় না হয়, সেক্ষেত্রে তারের বদলে প্রদর্শিত হয়। এর জন্য ডকুমেন্টেশনেSTR
এটি উল্লেখ করা হয়েছে । এই পৃষ্ঠাটি থেকে এখানে একটি উদ্ধৃতি দেওয়া আছে:STR(1223,2) truncates the result set to **.
সাধারণত আপনি এসকিউএল-তে কোনও সংখ্যার যথার্থতাটিকে পরামিতিগুলি দিয়ে সংজ্ঞায়িত করতে পারেন। বেশিরভাগ ক্ষেত্রে এটি হবে NUMERIC(10,2)
বা Decimal(10,2)
- 2 (দশমিক স্থান) এর যথার্থতার সাথে 10 টি মোট অঙ্ক সহ একটি কলাম একটি সংখ্যার হিসাবে সংজ্ঞায়িত করবে।
স্বচ্ছতার জন্য সম্পাদিত
এটি আমার পক্ষে কাজ করে এবং সর্বদা দুটি অঙ্কের ভগ্নাংশ রাখে
23.1 ==> 23.10
25.569 ==> 25.56
1 ==> 1.00
Cast(CONVERT(DECIMAL(10,2),Value1) as nvarchar) AS Value2
বাচ্চারা আজ এইভাবে করছে:
DECLARE @test DECIMAL(18,6) = 123.456789
SELECT FORMAT(@test, '##.##')
123,46
DECLARE @test DECIMAL(18,6) = 0.456789
তারপর SELECT FORMAT(@test, '##.##')
আয়: .46
কিভাবে আপনি এটি শূন্য দেখানোর জন্য পেতে পারি: 0.46
?
এটা চেষ্টা কর:
declare @MyFloatVal float;
set @MyFloatVal=(select convert(decimal(10, 2), 10.254000))
select @MyFloatVal
Convert(decimal(18,2),r.AdditionAmount) as AdditionAmount
আপনি যে মানটি সন্নিবেশ করতে চান তার গুণমান (উদাহরণস্বরূপ 2.99) 100 দ্বারা গুণ করুন
তারপরে ফলাফলটি 100 দ্বারা বিভাজনটি সন্নিবেশ করুন .01 শেষে:
299.01/100
দশমিকের পরে এটি 2 টি মান সহ মোট 10 ডিজিটের অনুমতি দেবে। এর অর্থ এটি দশমিকের আগে 8 অঙ্ক এবং দশমিক 2 পরে দশমিকের আগে মানের মানটি সংযোজন করতে পারে।
যাচাই করতে, নিম্নলিখিত কোয়েরিতে মানটি দিন।
DECLARE vtest number(10,2);
BEGIN
SELECT 10.008 INTO vtest FROM dual;
dbms_output.put_line(vtest);
END;