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

MySQL में BETWEEN कीवर्ड का उपयोग करके दो तिथियों के बीच खोज करना

MySQL BETWEEN के साथ दिनांक सीमा खोज

MySQL में BETWEEN ऑपरेटर का उपयोग करके आप दो दिनांकों के बीच (समावेशी) आने वाले रिकॉर्ड्स ढूंढ सकते हैं। यह ऑफ़र वैधता, बुकिंग प्रणाली और समय-आधारित फ़िल्टरिंग के लिए उपयोगी है।

उदाहरण: सक्रिय ऑफ़र ढूंढना

mysql> CREATE TABLE DemoTable1456 (
    -> CustomerName VARCHAR(30),
    -> StartOfferDate DATE,
    -> EndOfferDate DATE
    -> );
Query OK, 0 rows affected (0.54 sec)

mysql> INSERT INTO DemoTable1456 VALUES
    -> ('Chris', '2019-09-01', '2019-09-30'),
    -> ('David', '2019-09-01', '2019-10-30'),
    -> ('Bob', '2018-10-01', '2018-10-20');
Query OK, 3 rows affected (0.18 sec)

mysql> SELECT * FROM DemoTable1456;
+--------------+----------------+--------------+
| CustomerName | StartOfferDate | EndOfferDate |
+--------------+----------------+--------------+
| Chris        | 2019-09-01     | 2019-09-30   |
| David        | 2019-09-01     | 2019-10-30   |
| Bob          | 2018-10-01     | 2018-10-20   |
+--------------+----------------+--------------+
3 rows in set (0.00 sec)

वर्तमान दिनांक के साथ BETWEEN क्वेरी

mysql> SELECT * FROM DemoTable1456
    -> WHERE DATE(NOW()) BETWEEN StartOfferDate AND EndOfferDate;

परिणाम (मान लें वर्तमान दिनांक 2019-10-05 है)

+--------------+----------------+--------------+
| CustomerName | StartOfferDate | EndOfferDate |
+--------------+----------------+--------------+
| David        | 2019-09-01     | 2019-10-30   |
+--------------+----------------+--------------+
1 row in set (0.04 sec)

व्याख्या

  • Chris: ऑफ़र 2019-09-30 को समाप्त हुआ (वर्तमान दिनांक 2019-10-05 से पहले) → बाहर
  • David: ऑफ़र 2019-09-01 से 2019-10-30 तक → सक्रिय
  • Bob: ऑफ़र 2018 में था → बाहर

BETWEEN महत्वपूर्ण नोट्स

  • समावेशी: दोनों सीमाएं शामिल हैं (शुरुआत ≤ मान ≤ अंत)
  • डेटा प्रकार: दिनांक, संख्या, स्ट्रिंग के साथ काम करता है
  • NULL: यदि कोई मान NULL है तो NULL लौटाता है
  • प्रदर्शन: दिनांक कॉलम पर इंडेक्स BETWEEN क्वेरी को गति देता है

वैकल्पिक सिंटैक्स

-- स्पष्ट तुलना (समान परिणाम)
SELECT * FROM DemoTable1456
WHERE DATE(NOW()) >= StartOfferDate 
  AND DATE(NOW()) <= EndOfferDate;

-- केवल दिनांक भाग के लिए (यदि DATETIME कॉलम है)
SELECT * FROM DemoTable1456
WHERE CAST(NOW() AS DATE) BETWEEN StartOfferDate AND EndOfferDate;

सामान्य नुकसान

DATETIME कॉलम के साथ BETWEEN: यदि कॉलम DATETIME हैं, तो '2019-10-30' का अर्थ '2019-10-30 00:00:00' है। दिन की अंतिम पंक्तियाँ छूट सकती हैं। समाधान:
WHERE StartOfferDate <= '2019-10-30 23:59:59'
  AND EndOfferDate >= '2019-10-01 00:00:00'
  1. - MySQL क्वेरी: दो तिथियों की सीमा के बीच सभी डेटा चुनें

    BETWEEN ऑपरेटर का उपयोग करके तिथि सीमा के बीच डेटा चुनना दो तिथियों की सीमा के बीच सभी डेटा चुनने के लिए MySQL BETWEEN का उपयोग करें: select * from yourTableName where yourColumnName between yourDateValue1 and yourDateValue2; पहले टेबल बनाएं: create table DemoTable1422 ( EmployeeId int NOT NULL AUT

  1. - MySQL में BETWEEN कीवर्ड का उपयोग करके दो तिथियों के बीच रिकॉर्ड्स का SUM प्राप्त करना

    MySQL में दिनांक सीमा के भीतर मानों का योग दिनांक सीमा के भीतर संख्यात्मक मानों का योग करने के लिए, BETWEEN ऑपरेटर के साथ SUM() एग्रीगेट फ़ंक्शन का उपयोग करें। यह बिक्री रिपोर्ट, वित्तीय विश्लेषण और समय-श्रृंखला डेटा के लिए आदर्श है। उदाहरण: तिमाही खरीद योग की गणना पहले एक खरीद टेबल बनाते हैं: SEL

  1. - MySQL में दो शब्दों के बीच का स्पेस हटाना

    REPLACE() फ़ंक्शन से विशिष्ट स्पेस हटाना REPLACE(str, from_str, to_str) का उपयोग करके किसी विशिष्ट सबस्ट्रिंग (जैसे is ) को दूसरे सबस्ट्रिंग ( is) से बदलें। तालिका और डेटा (This is MySQL), (This is Java language), (This is MongoDB NoSQL database); स्पेस हटाने का UPDATE SET Title = REPLACE(Titl