Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में FLOOR() फंक्शन का उपयोग करके व्होल नंबर डेसीमल वाले रिकॉर्ड्स कैसे खोजें

FLOOR() फंक्शन के साथ पूर्णांक डेसीमल मान खोजना

डेसीमल कॉलम में केवल वही रिकॉर्ड्स खोजें जो पूर्णांक हैं (जैसे 12.00, 35.00) FLOOR() फंक्शन का उपयोग करके।

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    Value DECIMAL(4,2)
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES (54.20);
mysql> INSERT INTO DemoTable VALUES (55.0);
mysql> INSERT INTO DemoTable VALUES (7.8);
mysql> INSERT INTO DemoTable VALUES (9.0);
mysql> INSERT INTO DemoTable VALUES (9.2);

सभी रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-------+
| Value |
+-------+
| 54.20 |
| 55.00 |
| 7.80  |
| 9.00  |
| 9.20  |
+-------+

जहां डेसीमल एक पूर्णांक है (फ्रैक्शनल भाग शून्य है) ऐसे रिकॉर्ड्स खोजने के लिए क्वेरी:

mysql> SELECT * FROM DemoTable WHERE Value = FLOOR(Value);

आउटपुट:

+-------+
| Value |
+-------+
| 55.00 |
| 9.00  |
+-------+

व्याख्या:

  • FLOOR(Value): मान को नीचे की ओर निकटतम पूर्णांक तक राउंड करता है
    • FLOOR(54.20) = 54
    • FLOOR(55.00) = 55
    • FLOOR(7.80) = 7
    • FLOOR(9.00) = 9
    • FLOOR(9.20) = 9
  • Value = FLOOR(Value): केवल तब सत्य होता है जब मान का कोई फ्रैक्शनल भाग न हो
    • 54.20 ≠ 54 (झूठा)
    • 55.00 = 55 (सत्य) ✓
    • 7.80 ≠ 7 (झूठा)
    • 9.00 = 9 (सत्य) ✓
    • 9.20 ≠ 9 (झूठा)

वैकल्पिक तरीके:

-- MOD का उपयोग करके
SELECT * FROM DemoTable WHERE Value % 1 = 0;

-- TRUNCATE का उपयोग करके
SELECT * FROM DemoTable WHERE Value = TRUNCATE(Value, 0);

-- CAST का उपयोग करके
SELECT * FROM DemoTable WHERE Value = CAST(Value AS UNSIGNED);

नोट: फ्लोटिंग-पॉइंट कॉलम्स (FLOAT, DOUBLE) के लिए परिशुद्धता समस्याओं के कारण यह तरीका अविश्वसनीय हो सकता है। DECIMAL के लिए यह ठीक काम करता है।

  1. - MySQL में वर्तमान तिथि + 2 सप्ताह से पहले के रिकॉर्ड कैसे प्राप्त करें?

    MySQL में वर्तमान तिथि से दो सप्ताह आगे की तिथि से पहले के रिकॉर्ड प्राप्त करने के लिए DATE_ADD() फ़ंक्शन का उपयोग करें। यह क्वेरी शिपिंग तिथियों, डेडलाइन या किसी भी भविष्य की तिथि-आधारित फ़िल्टरिंग के लिए उपयोगी है। सिंटैक्स SELECT * FROM your_table_name WHERE your_date_column < DATE_ADD(CURDA

  1. - MySQL में FORMAT() का उपयोग करके मुद्रा रिकॉर्ड कैसे सेट करें?

    MySQL में FORMAT() फ़ंक्शन का उपयोग करके संख्याओं को मुद्रा फॉर्मेट (हजारों विभाजक, निश्चित दशमलव) में प्रदर्शित किया जा सकता है। सिंटैक्स CONCAT(CURRENCY_SYMBOL , FORMAT(amount, decimal_places)) उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Amount DECIMAL(15,4)); mysql> INSERT INTO De

  1. - महीनों की एक श्रृंखला से रिकॉर्ड प्राप्त करने का MySQL क्वेरी?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1795 ( Name varchar(20), DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1795 values(John,2018-07-21); Query OK, 1 row affected (0.00 sec)