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

MySQL WHERE क्लॉज में करंट ईयर कैसे प्राप्त करें?

YEAR(CURDATE()) से वर्तमान वर्ष प्राप्त करना

MySQL में WHERE क्लॉज में वर्तमान वर्ष का उपयोग करने के लिए YEAR() फंक्शन के साथ CURDATE() का उपयोग करें।

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

CREATE TABLE DemoTable1360 (JoiningYear INT);

INSERT INTO DemoTable1360 VALUES(1998);
INSERT INTO DemoTable1360 VALUES(2018);
INSERT INTO DemoTable1360 VALUES(2016);
INSERT INTO DemoTable1360 VALUES(2019);
INSERT INTO DemoTable1360 VALUES(2017);
INSERT INTO DemoTable1360 VALUES(2015);

मौजूदा डेटा

+-------------+
| JoiningYear |
+-------------+
| 1998        |
| 2018        |
| 2016        |
| 2019        |
| 2017        |
| 2015        |
+-------------+

क्वेरी: वर्तमान वर्ष के रिकॉर्ड

SELECT * FROM DemoTable1360 
WHERE JoiningYear = YEAR(CURDATE());

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

+-------------+
| JoiningYear |
+-------------+
| 2019        |
+-------------+

वैकल्पिक फंक्शन्स

फंक्शनविवरणउदाहरण आउटपुट
YEAR(CURDATE())वर्तमान डेट का वर्ष2019
YEAR(NOW())वर्तमान डेटाटाइम का वर्ष2019
EXTRACT(YEAR FROM CURDATE())ANSI SQL स्टैंडर्ड2019

व्यावहारिक उपयोग के उदाहरण

इस वर्ष जॉइन किए एम्प्लॉई

SELECT * FROM Employees 
WHERE YEAR(JoiningDate) = YEAR(CURDATE());

पिछले वर्ष के रिकॉर्ड

SELECT * FROM Orders 
WHERE YEAR(OrderDate) = YEAR(CURDATE()) - 1;

वर्तमान वर्ष से पहले के रिकॉर्ड

SELECT * FROM Logs 
WHERE YEAR(LogDate) < YEAR(CURDATE());

परफॉरमेंस टिप

YEAR(Col) = 2019 इंडेक्स उपयोग को रोक सकता है। बेहतर:

WHERE JoiningYear = 2019  -- अगर कॉलम INT है

-- या डेट कॉलम के लिए
WHERE JoiningDate >= '2019-01-01' AND JoiningDate < '2020-01-01'

एप्लिकेशन कोड में

-- PHP में
$currentYear = date('Y');
$stmt = $pdo->prepare("SELECT * FROM DemoTable1360 WHERE JoiningYear = ?");
$stmt->execute([$currentYear]);
  1. - MySQL में टाइमस्टैम्प कॉलम से वर्तमान घंटे के रिकॉर्ड चुनना

    परिचय MySQL में HOUR() फंक्शन और CURTIME() का उपयोग करके टाइमस्टैम्प कॉलम से उन रिकॉर्ड्स को फ़िल्टर किया जा सकता है जो वर्तमान घंटे में आते हैं। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.65 sec) INSERT INTO DemoTable VALUES(2018-10-26 16:00:10); Query OK, 1 row affected (

  1. - MySQL में WHERE क्लॉज में एकाधिक शर्तों के साथ UPDATE कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में AND ऑपरेटर का उपयोग करके एकाधिक शर्तें निर्दिष्ट करके विशिष्ट पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE condition1 AND condition2 AND ...; उदाहरण तालिका बनाएं और डेटा डालें: mysql> CREATE TABLE DemoTable

  1. - MySQL WHERE क्लॉज़ में ड्यू डेट और करंट डेट रिकॉर्ड्स की जांच करने की शर्त

    ऐसी शर्तों की जांच के लिए, MySQL में IF() फ़ंक्शन का उपयोग करें। उदाहरण आइए एक टेबल बनाते हैं: mysql> create table demo89 ( duedate date ); Query OK, 0 rows affected (0.78 sec) उदाहरण इन्सर्ट कमांड की मदद से टेबल में कुछ रिकॉर्ड डालें: mysql> insert into demo89 values(2020-01-10); Query OK,