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

MySQL में डेट ऑफ बर्थ के आधार पर एज रेंज में रिकॉर्ड कैसे खोजें?

BETWEEN और YEAR फंक्शन से एज रेंज क्वेरी

स्टूडेंट्स की जन्म तारीख से उम्र की गणना करके एक खास एज रेंज (जैसे 20-21 साल) में आने वाले रिकॉर्ड खोजने के लिए BETWEEN ऑपरेटर का उपयोग करें।

टेबल बनाना और डेटा इन्सर्ट करना

CREATE TABLE DemoTable863(StudentDateOfBirth DATE);

INSERT INTO DemoTable863 VALUES('1998-01-10');
INSERT INTO DemoTable863 VALUES('2000-10-15');
INSERT INTO DemoTable863 VALUES('2003-04-20');
INSERT INTO DemoTable863 VALUES('2005-12-31');
INSERT INTO DemoTable863 VALUES('1999-07-01');

मौजूदा डेटा

+--------------------+
| StudentDateOfBirth |
+--------------------+
| 1998-01-10         |
| 2000-10-15         |
| 2003-04-20         |
| 2005-12-31         |
| 1999-07-01         |
+--------------------+

क्वेरी: 20 से 21 साल के स्टूडेंट्स

SELECT * FROM DemoTable863 
WHERE (YEAR(NOW()) - YEAR(StudentDateOfBirth)) BETWEEN 20 AND 21;

आउटपुट (मान लें वर्तमान वर्ष 2019 है)

+--------------------+
| StudentDateOfBirth |
+--------------------+
| 1998-01-10         |
| 1999-07-01         |
+--------------------+

कैसे काम करता है

  • YEAR(NOW()) - वर्तमान वर्ष (2019)
  • YEAR(StudentDateOfBirth) - जन्म वर्ष
  • घटाव से अनुमानित उम्र मिलती है
  • BETWEEN 20 AND 21 - 20 और 21 साल के बीच

सटीक उम्र गणना (महीना/दिन ध्यान में रखते हुए)

उपरोक्त तरीका केवल वर्ष देखता है, जो गलत हो सकता है। सटीक उम्र के लिए:

SELECT * FROM DemoTable863 
WHERE TIMESTAMPDIFF(YEAR, StudentDateOfBirth, CURDATE()) BETWEEN 20 AND 21;

डेट रेंज के साथ विकल्प

SELECT * FROM DemoTable863 
WHERE StudentDateOfBirth BETWEEN 
    DATE_SUB(CURDATE(), INTERVAL 21 YEAR) 
    AND DATE_SUB(CURDATE(), INTERVAL 20 YEAR);

यह तरीका इंडेक्स का बेहतर उपयोग करता है (SARGable)।

  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 क्वेरी का उपयोग करके जांचें कि वर्तमान दिनांक दिए गए दिनांक सीमा में आता है या नहीं

    MySQL में दिनांक सीमा सदस्यता जांच यह जांचने के लिए कि क्या वर्तमान दिनांक (या कोई विशिष्ट दिनांक) शुरुआत और समाप्ति दिनांक सीमा के भीतर आता है, तुलना ऑपरेटरों का उपयोग करें: = शुरुआत_दिनांक AND वर्तमान_दिनांक <= समाप्ति_दिनांक। उदाहरण: सक्रिय दिनांक सीमाएं ढूंढना SELECT * FROM DemoTable1448; +---