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

MySQL क्वेरी का उपयोग करके जांचें कि वर्तमान दिनांक दिए गए दिनांक सीमा में आता है या नहीं

MySQL में दिनांक सीमा सदस्यता जांच

यह जांचने के लिए कि क्या वर्तमान दिनांक (या कोई विशिष्ट दिनांक) शुरुआत और समाप्ति दिनांक सीमा के भीतर आता है, तुलना ऑपरेटरों का उपयोग करें: वर्तमान_दिनांक >= शुरुआत_दिनांक AND वर्तमान_दिनांक <= समाप्ति_दिनांक।

उदाहरण: सक्रिय दिनांक सीमाएं ढूंढना

mysql> CREATE TABLE DemoTable1448 (
    -> StartDate DATE,
    -> EndDate DATE
    -> );
Query OK, 0 rows affected (0.46 sec)

mysql> INSERT INTO DemoTable1448 VALUES
    -> ('2019-01-21', '2019-03-22'),
    -> ('2019-04-05', '2019-10-10'),
    -> ('2019-10-01', '2019-10-29'),
    -> ('2018-12-31', '2019-12-31');
Query OK, 4 rows affected (0.16 sec)

mysql> SELECT * FROM DemoTable1448;
+------------+------------+
| StartDate  | EndDate    |
+------------+------------+
| 2019-01-21 | 2019-03-22 |
| 2019-04-05 | 2019-10-10 |
| 2019-10-01 | 2019-10-29 |
| 2018-12-31 | 2019-12-31 |
+------------+------------+
4 rows in set (0.00 sec)

मान लें वर्तमान दिनांक 2019-10-05 है।

सीमा जांच क्वेरी

mysql> SELECT (CURDATE() >= StartDate AND CURDATE() <= EndDate) AS DateInRange
    -> FROM DemoTable1448;

परिणाम

+-------------+
| DateInRange |
+-------------+
|           0 |
|           1 |
|           1 |
|           1 |
+-------------+
4 rows in set (0.04 sec)

व्याख्या

StartDateEndDate2019-10-05 सीमा में?परिणाम
2019-01-212019-03-22नहीं (समाप्त)0 (असत्य)
2019-04-052019-10-10हां1 (सत्य)
2019-10-012019-10-29हां1 (सत्य)
2018-12-312019-12-31हां1 (सत्य)

बूलियन परिणाम उपयोग

MySQL में बूलियन परिणाम 1 (सत्य) या 0 (असत्य) होते हैं। आप इन्हें उपयोग कर सकते हैं:

  • WHERE क्लॉज में: WHERE (CURDATE() >= StartDate AND CURDATE() <= EndDate)
  • गणना में: SUM(CURDATE() BETWEEN StartDate AND EndDate) सक्रिय सीमाओं की गिनती करता है
  • CASE में: लेबल के लिए CASE WHEN ... THEN 'Active' ELSE 'Expired' END

BETWEEN विकल्प

SELECT CURDATE() BETWEEN StartDate AND EndDate AS DateInRange
FROM DemoTable1448;

BETWEEN समावेशी है और तुलना श्रृंखला के बराबर है।

DATETIME कॉलम के लिए

-- NOW() DATETIME देता है; तुलना के लिए DATE() में परिवर्तित करें
SELECT DATE(NOW()) BETWEEN StartDate AND EndDate AS DateInRange
FROM DemoTable1448;
  1. - MySQL में तारीख तुलना: दी गई रेंज के बीच की तारीखें कैसे प्राप्त करें?

    MySQL में तारीख रेंज क्वेरी: BETWEEN और तुलना ऑपरेटर MySQL में DATE, DATETIME, TIMESTAMP कॉलम की तुलना सीधे तुलना ऑपरेटर (>=, <=) या BETWEEN से की जा सकती है। उदाहरण: एडमिशन तारीख जून से अगस्त 2019 के बीच टेबल बनाएं: CREATE TABLE DemoTable (AdmissionDate DATE); INSERT INTO DemoTable VALUES (2

  1. - MySQL में चयनित तारीख (2010-11-04) से वर्तमान तारीख तक के रिकॉर्ड चुनें

    WHERE क्लॉज में तुलना ऑपरेटर का उपयोग करके निश्चित प्रारंभ तारीख से वर्तमान तारीख तक के रिकॉर्ड फ़िल्टर करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable (Joiningdate DATE); Query OK, 0 rows affected (0.56 sec) INSERT INTO DemoTable VALUES(2010-01-01),(2010-03-31),(2010-11-04), (2012-12-31),

  1. MySQL में फाइल लोकेशन रिकॉर्ड वाली टेबल से सबस्ट्रिंग परिणाम कैसे प्राप्त करें MySQL में फाइल लोकेशन रिकॉर्ड वाली टेबल से सबस्ट्रिंग परिणाम कैसे प्राप्त करें

    सिंटैक्स SELECT SUBSTR(yourColumnName, startIndex, endIndex) FROM yourTableName LIMIT anyValue; SELECT SUBSTR(yourColumnName, startIndex) FROM yourTableName LIMIT anyValue; उदाहरण टेबल बनाएं: INSERT INTO demo11 (fileLocation) VALUES (E:/users/program/sample.sql), (E:/users/data/db.sql), (C:/users/