MySQL-এ FORMAT() ফাংশন ব্যবহার করে বড় সংখ্যাকে কমা (,) দিয়ে গ্রুপ করে "মানব-পঠনযোগ্য" ফরম্যাটে রূপান্তর করা যায়।
উদাহরণ: টেবিল তৈরি এবং ডেটা ইনসার্ট
mysql> create table DemoTable859(Number bigint); Query OK, 0 rows affected (1.54 sec)
mysql> insert into DemoTable859 values(747464646473737); Query OK, 1 row affected (0.45 sec) mysql> insert into DemoTable859 values(3836365366464); Query OK, 1 row affected (0.71 sec) mysql> insert into DemoTable859 values(8376437647433); Query OK, 1 row affected (0.46 sec)
সকল রেকর্ড দেখানো (রorganisation স্ট্রিং)
mysql> select * from DemoTable859;
+-----------------+ | Number | +-----------------+ | 747464646473737 | | 3836365366464 | | 8376437647433 | +-----------------+ 3 rows in set (0.00 sec)
FORMAT() দিয়ে কমা-সেপারেটেড ফরম্যাট
mysql> select format(Number, 0) AS HumanReadableFormat from DemoTable859;
+---------------------+ | HumanReadableFormat | +---------------------+ | 747,464,646,473,737 | | 3,836,365,366,464 | | 8,376,437,647,433 | +---------------------+ 3 rows in set (0.00 sec)
FORMAT() সিনট্যাক্স
FORMAT(number, decimal_places [, locale])
number- ফরম্যাট করার সংখ্যাdecimal_places- দশমিক বিন্দুর পর কত ডিজিট (০ = কোনো দশমিক নেই)locale- ঐচ্ছিক, লোকেল অনুযায়ী ফরম্যাট (যেমন 'de_DE' → 1.234.567,89)
উদাহরণ
| কোয়েরি | ফলাফল |
|---|---|
FORMAT(1234567.89, 2) | '1,234,567.89' |
FORMAT(1234567.89, 0) | '1,234,567' |
FORMAT(1234567.89, 2, 'de_DE') | '1.234.567,89' |
FORMAT(1234567.89, 2, 'en_IN') | '12,34,567.89' (ভারতীয় পদ্ধতি) |
দ্রষ্টব্য
- ফলাফল স্ট্রিং (VARCHAR), সংখ্যা নয় — ক্যালকুলেশনে ব্যবহার করবেন না
- রাউন্ডিং হয়:
FORMAT(1.999, 0)→ '2' - নেগেটিভ সংখ্যা:
FORMAT(-1234, 0)→ '-1,234' - পারফরম্যান্স: বড় রেজাল্ট সেটে কম্পিউটেশন খরচ যোগ হয়
অ্যাপ্লিকেশন লেয়ারে ফরম্যাটিং (সুপারিশ)
ডাটাবেসে কাঁচা সংখ্যা রাখুন, প্রেজেন্টেশন লেয়ারে (PHP, Python, JS, Java) ফরম্যাট করুন — আরও ফ্লেক্সিবল এবং লোকেল-অওয়য়ার।