MySQL में एक पूर्णांक के रूप में वर्षों में आयु अंतर की गणना करना
आयु की गणना करते समय डेटाबेस में किसी व्यक्ति की आयु निर्धारित करना थोड़ी चुनौती पेश करता है . कॉलम 'आईडी' और 'जन्मदिनांक' के साथ 'छात्र' तालिका पर विचार करें।
दिनों में उम्र की गणना करने के लिए, अभिव्यक्ति dateiff(curdate(),birth_date) का उपयोग किया जा सकता है, लेकिन यह एक फ़्लोटिंग-पॉइंट मान देता है . 365 से विभाजित करने पर एक फ़्लोटिंग-पॉइंट मान भी प्राप्त होता है।
वर्षों को वर्ष(curdate())-year(birth_date) के रूप में गणना करने से भी एक समस्या आती है। उदाहरण के लिए, यदि किसी व्यक्ति का जन्म जून 1970 में हुआ था और वर्तमान तिथि मई में है, तो अभिव्यक्ति गलत तरीके से 31 के बजाय 32 वर्ष वापस आ जाएगी।
पूर्णांक वर्ष अंतर के लिए वैकल्पिक समाधान:
इस समस्या का समाधान करने के लिए, निम्नलिखित SQL कथन पर विचार करें:
SELECT TIMESTAMPDIFF(YEAR, date_of_birth, CURDATE()) AS difference FROM student
यह अभिव्यक्ति वर्षों में 'date_of_birth' और 'CURDATE()' के बीच अंतर की गणना करती है, जिसके परिणामस्वरूप एक पूर्णांक मान प्राप्त होता है।
महीनों और दिनों के लिए विस्तार:
अंतर की गणना करने के लिए महीने, अभिव्यक्ति में 'YEAR' को 'MONTH' से बदलें:
SELECT TIMESTAMPDIFF(MONTH, date_of_birth, CURDATE()) AS difference FROM student
इसी तरह, अंतर के लिए दिन, 'YEAR' को 'DAY' से बदलें:
SELECT TIMESTAMPDIFF(DAY, date_of_birth, CURDATE()) AS difference FROM student
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3