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

MySQL में MONTH() और YEAR() से विशिष्ट माह-वर्ष के रिकॉर्ड प्राप्त करें

डेट कॉलम से माह और वर्ष निकालकर फ़िल्टर करने के लिए MySQL के MONTH() और YEAR() फ़ंक्शन का उपयोग करें।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1846 (
    PurchaseDate DATE
);

डेटा डालें

mysql> INSERT INTO DemoTable1846 VALUES('2019-01-10');
mysql> INSERT INTO DemoTable1846 VALUES('2019-12-24');
mysql> INSERT INTO DemoTable1846 VALUES('2018-09-21');
mysql> INSERT INTO DemoTable1846 VALUES('2017-10-26');

दिसंबर 2019 के रिकॉर्ड प्राप्त करें

mysql> SELECT * FROM DemoTable1846
    WHERE MONTH(PurchaseDate) = 12
    AND YEAR(PurchaseDate) = 2019;

आउटपुट:

+--------------+
| PurchaseDate |
+--------------+
| 2019-12-24   |
+--------------+

बेहतर प्रदर्शन के लिए वैकल्पिक विधि

फ़ंक्शन कॉल इंडेक्स उपयोग को रोकते हैं। रेंज क्वेरी तेज़ होती है:

mysql> SELECT * FROM DemoTable1846
    WHERE PurchaseDate >= '2019-12-01'
    AND PurchaseDate < '2020-01-01';

अन्य उपयोगी फ़ंक्शन

  • DAY() - दिन निकालें
  • QUARTER() - तिमाही (1-4)
  • WEEK() - सप्ताह संख्या
  • DATE_FORMAT(date, '%Y-%m') - '2019-12' प्रारूप में प्राप्त करें

सारांश

  • सरल फ़िल्टर के लिए MONTH()/YEAR() ठीक है।
  • बड़ी टेबल/इंडेक्स उपयोग के लिए डेट रेंज (BETWEEN या >= <) बेहतर।
  • हमेशा कॉलम पर इंडेक्स रखें जिसे फ़िल्टर करते हैं।
  1. - MySQL REGEXP से विशिष्ट शब्द संख्या वाले रिकॉर्ड ढूंढें

    MySQL REGEXP का उपयोग करके कॉलम में विशिष्ट संख्या में शब्द (स्पेस से अलग) वाले रिकॉर्ड ढूंढ सकते हैं। पैटर्न: ठीक 2 शब्द (स्पेस से अलग) WHERE कॉलम REGEXP ^[^ ]+ [^ ]+$ उदाहरण 1. टेबल बनाएं CREATE TABLE DemoTable1412 (Name VARCHAR(40)); 2. डेटा डालें INSERT INTO DemoTable1412 VALUES(Chris Jame

  1. - MySQL में REGEXP का उपयोग करके डॉट और संख्या वाले रिकॉर्ड कैसे प्राप्त करें?

    MySQL में REGEXP का उपयोग करके डॉट और संख्याओं वाले पैटर्न (जैसे संस्करण संख्या) से मेल खाने वाले रिकॉर्ड प्राप्त किए जा सकते हैं। उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Version VARCHAR(20)); mysql> INSERT INTO DemoTable VALUES (1.0.0), (2.s6.9), (1.5.0); डेटा +---------+ | Vers

  1. - MySQL में YEAR() से विशिष्ट वर्ष की शुरुआत और अंत तिथि प्राप्त करें

    दो डेट कॉलम (शुरुआत, अंत) वाली टेबल से किसी विशिष्ट वर्ष में आने वाली पंक्तियाँ प्राप्त करने के लिए YEAR() फ़ंक्शन का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1843 ( StartDate DATE, EndDate DATE ); डेटा डालें mysql> INSERT INTO DemoTable1843 VALUES(2019-01-21, 2019-10-12);