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

MySQL में डेट फील्ड के साथ केवल दिन और महीना तुलना करें

DATE_FORMAT() से दिन-महीना तुलना

डेट कॉलम में केवल दिन और महीना तुलना करने के लिए DATE_FORMAT() फ़ंक्शन का उपयोग करें।

सिंटैक्स

SELECT * FROM yourTableName
WHERE DATE_FORMAT(yourColumnName, '%m-%d') = DATE_FORMAT('yourValue', '%m-%d')
AND yourCondition;

फॉर्मेट स्पेसिफायर

  • %m - महीना (01-12)
  • %d - दिन (01-31)
  • %Y - वर्ष (4 अंक)

उदाहरण: टेबल और डेटा

mysql> create table compareDayAndMonthDemo (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> compareDayAndTime date
    -> );
Query OK, 0 rows affected (0.49 sec)
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2014-01-31');
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2014-10-11');
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2016-09-12');
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2017-04-25');
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2018-12-25');
mysql> insert into compareDayAndMonthDemo(compareDayAndTime) values('2019-02-27');

क्वेरी: 01-31 तारीख वाले रिकॉर्ड ढूंढना (किसी भी वर्ष के)

mysql> SELECT * FROM compareDayAndMonthDemo
    -> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') = DATE_FORMAT('2019-01-31', '%m-%d')
    -> AND Id = 1;
+----+-------------------+
| Id | compareDayAndTime |
+----+-------------------+
| 1  | 2014-01-31        |
+----+-------------------+

केवल दिन-महीना दिखाने के लिए

mysql> SELECT DATE_FORMAT(compareDayAndTime, '%m-%d') AS DayAndMonthOnly
    -> FROM compareDayAndMonthDemo
    -> WHERE DATE_FORMAT(compareDayAndTime, '%m-%d') = DATE_FORMAT('2019-01-31', '%m-%d')
    -> AND Id = 1;
+-----------------+
| DayAndMonthOnly |
+-----------------+
| 01-31           |
+-----------------+

उपयोग के मामले

  • जन्मदिन/सालगिरह रिमाइंडर (वर्ष अनदेखा करें)
  • वार्षिक आवर्ती घटनाएँ
  • महीने-दिन आधारित रिपोर्टिंग
  1. - MySQL में तुलना करके केवल NULL मान वाली पंक्तियां दिखाएं

    IFNULL() के साथ NULL मान वाली पंक्तियों को फ़िल्टर करना दो कॉलम की तुलना में, जब एक कॉलम NULL हो तो उसे 0 मानकर तुलना करने के लिए IFNULL() का उपयोग करें, जिससे NULL वाली पंक्तियां परिणाम में आ सकें। टेबल और डेटा CREATE TABLE DemoTable ( Value1 INT, Value2 INT ); Query OK, 0 rows affected (

  1. - MySQL में MONTH() और DAY() का उपयोग करके वर्तमान दिनांक के दिन और महीने के साथ तिथि रिकॉर्ड्स की तुलना करना

    MySQL में दिन और महीने के आधार पर तिथि फ़िल्टरिंग वर्ष की परवाह किए बिना विशिष्ट दिन और महीने पर पड़ने वाली तिथियों को ढूंढने के लिए (जैसे वर्षगाँठ, जन्मदिन), MONTH() और DAY() फ़ंक्शन का उपयोग करके तिथि भागों की तुलना करें। उदाहरण: आज की तिथि से मेल खाने वाली वर्षगाँठ ढूंढना पहले एक वर्षगाँठ तिथि ट

  1. - MySQL क्वेरी दिनांक रिकॉर्ड को सप्ताह के दिन के साथ घटाएं और रिकॉर्ड के साथ सप्ताह का दिन प्रदर्शित करें

    इसके लिए आप DATE_FORMAT() का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1820 ( AdmissionDate varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1820 values(20/10/2019); Qu