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

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

दो डेट कॉलम (शुरुआत, अंत) वाली टेबल से किसी विशिष्ट वर्ष में आने वाली पंक्तियाँ प्राप्त करने के लिए YEAR() फ़ंक्शन का उपयोग करें।

टेबल बनाएं

mysql> CREATE TABLE DemoTable1843 (
    StartDate DATE,
    EndDate DATE
);

डेटा डालें

mysql> INSERT INTO DemoTable1843 VALUES('2019-01-21', '2019-10-12');
mysql> INSERT INTO DemoTable1843 VALUES('2018-10-12', '2018-12-31');
mysql> INSERT INTO DemoTable1843 VALUES('2016-04-01', '2017-05-02');

वर्ष 2018 की पंक्तियाँ प्राप्त करें

mysql> SELECT * FROM DemoTable1843
    WHERE YEAR(StartDate) = '2018'
    OR YEAR(EndDate) = '2018';

आउटपुट:

+------------+------------+
| StartDate  | EndDate    |
+------------+------------+
| 2018-10-12 | 2018-12-31 |
+------------+------------+

व्याख्या

  • YEAR(StartDate) = 2018 → शुरुआत 2018 में है।
  • YEAR(EndDate) = 2018 → अंत 2018 में है।
  • OR → दोनों में से कोई भी शर्त पूरी होने पर पंक्ति चुनें।

बेहतर प्रदर्शन: रेंज क्वेरी

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

mysql> SELECT * FROM DemoTable1843
    WHERE StartDate < '2019-01-01'
    AND EndDate >= '2018-01-01';

अन्य उपयोगी पैटर्न

  • वर्ष की पहली तारीख: STR_TO_DATE(CONCAT(year, '-01-01'), '%Y-%m-%d')
  • वर्ष की अंतिम तारीख: LAST_DAY(STR_TO_DATE(CONCAT(year, '-12-01'), '%Y-%m-%d'))
  • वर्ष के बीच ओवरलैप जांच: StartDate <= year_end AND EndDate >= year_start
  1. - MySQL में SELECT INTO वेरिएबल से विशिष्ट पंक्ति का एकल मान प्राप्त करें

    SELECT column INTO @variable FROM table WHERE condition का उपयोग करके एकल पंक्ति का एकल मान यूज़र-डिफ़ाइन्ड वेरिएबल में संग्रहीत करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1896 ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName VARCHAR(20), StudentMarks INT ); डेटा

  1. - MySQL में विशिष्ट पंक्ति प्राप्त करना

    WHERE, ORDER BY और LIMIT से विशिष्ट पंक्ति चुनें टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1972 ( Section char(1), StudentName varchar(20) ); Query OK, 0 rows affected (0.00 sec) mysql> insert into DemoTable1972 values(D,Chris); ... क्वेरी: C से बड़े सेक्शन को क्रमबद्ध करके पहले 2

  1. - जावा में वर्ष, महीना और दिन से डेट कैसे प्राप्त करें?

    of() मेथड का उपयोग java.time.LocalDate क्लास का of() मेथड वर्ष, महीना और महीने के दिन के मानों को पैरामीटर के रूप में स्वीकार करता है और LocalDate का ऑब्जेक्ट बनाकर लौटाता है। उदाहरण import java.time.LocalDate; public class Test { public static void main(String[] args) { LocalDate da