आप मानों को राउंड करने के बजाय फ्लोर करने के लिए TRUNCATE() मेथड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं -
mysql> create table DemoTable (
Value DECIMAL(20,8)
);
Query OK, 0 rows affected (0.54 sec)
insert कमांड का उपयोग करके टेबल में रिकॉर्ड्स डालें -
mysql> insert into DemoTable values(23.5654433); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(12.345542211); Query OK, 1 row affected, 1 warning (0.21 sec) mysql> insert into DemoTable values(12345.678543); Query OK, 1 row affected (0.22 sec)
select स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड्स प्रदर्शित करने के लिए निम्नलिखित क्वेरी -
mysql> select *from DemoTable;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
+----------------+ | Value | +----------------+ | 23.56544330 | | 12.34554221 | | 12345.67854300 | +----------------+ 3 rows in set (0.00 sec)
राउंड के बजाय दशमलव मानों को फ्लोर करने की क्वेरी यहां है -
mysql> update DemoTable SET Value = TRUNCATE(Value, 2); Query OK, 3 rows affected (0.20 sec) Rows matched: 3 Changed: 3 Warnings: 0
आइए टेबल रिकॉर्ड्स एक बार फिर जांचते हैं -
mysql> select *from DemoTable;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
+----------------+ | Value | +----------------+ | 23.56000000 | | 12.34000000 | | 12345.67000000 | +----------------+ 3 rows in set (0.00 sec)
स्पष्टीकरण:TRUNCATE(value, decimals)निर्दिष्ट दशमलव स्थानों की ओर शून्य की ओर काटता है (राउंड नहीं करता)।TRUNCATE(23.565, 2)→ 23.56,TRUNCATE(-23.565, 2)→ -23.56।FLOOR()हमेशा नीचे की ओर राउंड करता है (FLOOR(-23.565)→ -24)।ROUND()निकटतम मान देता है। आवश्यक व्यवहार के अनुसार चुनें।