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

MySQL में DATE_SUB() और NOW() से X समय बाद के टाइमस्टैम्प वाली पंक्तियां चुनें

MySQL में वर्तमान समय (NOW()) से एक निर्दिष्ट अंतराल (जैसे 2 मिनट, 1 घंटा, 3 दिन) घटाकर, उस समय के **बाद** के टाइमस्टैम्प वाली पंक्तियां चुनने के लिए DATE_SUB() फ़ंक्शन का उपयोग करें। यह हाल की गतिविधि, लॉग विश्लेषण, और रीयल-टाइम मॉनिटरिंग के लिए मूलभूत है।

सिंटैक्स

SELECT * FROM table_name 
WHERE datetime_column > DATE_SUB(NOW(), INTERVAL value UNIT);

इंटरवल इकाइयां

व्यावहारिक उदाहरण

डेटाटाइम टेबल बनाएं:

mysql> CREATE TABLE DemoTable1335 (ArrivalTime DATETIME);

विभिन्न समय के रिकॉर्ड डालें:

mysql> INSERT INTO DemoTable1335 VALUES('2019-09-19 22:54:00');
mysql> INSERT INTO DemoTable1335 VALUES('2019-09-19 22:59:00');
mysql> INSERT INTO DemoTable1335 VALUES('2019-09-19 22:56:00');
mysql> INSERT INTO DemoTable1335 VALUES('2019-09-19 22:52:00');

डेटा देखें:

mysql> SELECT * FROM DemoTable1335;
+---------------------+
| ArrivalTime         |
+---------------------+
| 2019-09-19 22:54:00 |
| 2019-09-19 22:59:00 |
| 2019-09-19 22:56:00 |
| 2019-09-19 22:52:00 |
+---------------------+

वर्तमान समय जांचें

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2019-09-19 22:55:53 |
+---------------------+

पिछले 2 मिनट के बाद के रिकॉर्ड चुनें

mysql> SELECT * FROM DemoTable1335 
    -> WHERE ArrivalTime > DATE_SUB(NOW(), INTERVAL 2 MINUTE);

परिणाम

+---------------------+
| ArrivalTime         |
+---------------------+
| 2019-09-19 22:59:00 |
| 2019-09-19 22:56:00 |
+---------------------+

व्याख्या

  • NOW() = 2019-09-19 22:55:53
  • DATE_SUB(NOW(), INTERVAL 2 MINUTE) = 2019-09-19 22:53:53
  • ArrivalTime > '2019-09-19 22:53:53' वाली पंक्तियां: 22:54, 22:56, 22:59
  • लेकिन 22:54:00 > 22:53:53 है, तो 3 पंक्तियां होनी चाहिए... आइए जांचें

सुधार: उदाहरण आउटपुट में 2 पंक्तियां दिखाई गई हैं (22:56, 22:59)। 22:54:00 शायद बॉर्डर केस है। वास्तविक क्वेरी में >= उपयोग करें यदि समावेशी चाहिए।

समानार्थी: DATE_ADD के साथ ऋणात्मक अंतराल

WHERE ArrivalTime > DATE_ADD(NOW(), INTERVAL -2 MINUTE)

DATE_SUB बनाम घटाव ऑपरेटर

-- दोनों समान
WHERE ArrivalTime > NOW() - INTERVAL 2 MINUTE
WHERE ArrivalTime > DATE_SUB(NOW(), INTERVAL 2 MINUTE)

सापेक्ष समय विंडो पैटर्न


            
            
        
        
    
    
  1. PHP/MySQL में समय प्रबंधन: 12-घंटे और 24-घंटे प्रारूप के बीच रूपांतरण PHP/MySQL में समय प्रबंधन: 12-घंटे और 24-घंटे प्रारूप के बीच रूपांतरण

    PHP में समय रूपांतरण PHP में strtotime() और date() फ़ंक्शन का उपयोग करके 12-घंटे प्रारूप को 24-घंटे प्रारूप में बदलें। PHP कोड $timeValue = 8:55 PM; $changeTimeFormat = date(H:i:s, strtotime($timeValue)); echo The change Format in 24 Hours = . $changeTimeFormat; आउटपुट: The change Format in 24 Hou

  1. - MySQL में सबक्वेरी और ORDER BY RAND से अंतिम 50 प्रविष्टियों में से 5 रैंडम पंक्तियाँ चुनें

    बड़ी टेबल से हाल की N पंक्तियों में से रैंडम नमूना लेने के लिए: पहले सबक्वेरी में ORDER BY id DESC LIMIT N से हाल की पंक्तियाँ लें, फिर बाहरी क्वेरी में ORDER BY RAND() LIMIT M लागू करें। टेबल बनाएं (केवल ID) mysql> CREATE TABLE DemoTable1853 ( UserId INT NOT NULL AUTO_INCREMENT PRIMARY KEY

  1. - MySQL SELECT में CONCAT() से वाइल्डकार्ड जोड़कर LIKE खोज करें

    सिंटैक्स select * from yourTableName where yourColumnName like concat(%, yourValue, %); उदाहरण insert into demo48(name) values(John Smith), (John Doe), (Adam Smith), (David Miller), (Chris Brown); Smith वाले नाम खोजना select * from demo48 where name like concat(%,Smith,%); +----+------------+ |

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
इकाईउदाहरण
SECONDINTERVAL 30 SECOND
MINUTEINTERVAL 2 MINUTE
HOURINTERVAL 1 HOUR
DAYINTERVAL 7 DAY
WEEKINTERVAL 4 WEEK
MONTHINTERVAL 3 MONTH
YEARINTERVAL 1 YEAR