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

MySQL में VARCHAR टाइप के कॉलम से किसी विशेष तिथि के बाद का डेटा रिकॉर्ड खोजें

VARCHAR कॉलम में संग्रहीत तिथियों को क्वेरी करना

MySQL में अक्सर तिथियाँ VARCHAR कॉलम में स्टोर होती हैं। ऐसी स्थिति में तिथि तुलना के लिए STR_TO_DATE() फ़ंक्शन का उपयोग करना पड़ता है।

उदाहरण: तालिका बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable1364 (
    -> ShippingDate VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.87 sec)

mysql> INSERT INTO DemoTable1364 VALUES('01-09-2019 12:34:55');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable1364 VALUES('01-07-2018 17:10:00');
Query OK, 1 row affected (0.37 sec)
mysql> INSERT INTO DemoTable1364 VALUES('24-09-2019 10:31:22');
Query OK, 1 row affected (0.24 sec)
mysql> INSERT INTO DemoTable1364 VALUES('20-09-2018 13:00:00');
Query OK, 1 row affected (0.13 sec)

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable1364;
+---------------------+
| ShippingDate        |
+---------------------+
| 01-09-2019 12:34:55 |
| 01-07-2018 17:10:00 |
| 24-09-2019 10:31:22 |
| 20-09-2018 13:00:00 |
+---------------------+
4 rows in set (0.00 sec)

विशिष्ट तिथि के बाद के रिकॉर्ड खोजने का क्वेरी

STR_TO_DATE() का उपयोग करके VARCHAR को DATE में बदलें, फिर तुलना करें:

mysql> SELECT * FROM DemoTable1364
    -> WHERE STR_TO_DATE(ShippingDate, '%d-%m-%Y %H:%i:%s') 
    -> > STR_TO_DATE('2019-09-21 10:31:20', '%Y-%m-%d %H:%i:%s');

परिणाम

+---------------------+
| ShippingDate        |
+---------------------+
| 24-09-2019 10:31:22 |
+---------------------+
1 row in set (0.00 sec)

नोट: फॉर्मेट स्पेसिफायर (%d-%m-%Y आदि) आपके डेटा के वास्तविक फॉर्मेट से मेल खाने चाहिए।

  1. - MySQL में STR_TO_DATE और CURDATE से वर्तमान दिनांक वाले रिकॉर्ड ढूंढें

    स्ट्रिंग कॉलम में संग्रहीत दिनांक की तुलना वर्तमान दिनांक से करने के लिए STR_TO_DATE() से पार्स करें और CURDATE() से तुलना करें। सिंटैक्स SELECT * FROM टेबल_नाम WHERE STR_TO_DATE(कॉलम_नाम, फॉर्मेट_स्पेसिफायर) = CURDATE(); उदाहरण: DD/MM/YYYY प्रारूप में दिनांक 1. टेबल बनाएं (स्ट्रिंग कॉलम) ); 2.

  1. - MySQL में कॉमा से अलग मान वाले कॉलम से विशिष्ट रिकॉर्ड कैसे खोजें?

    MySQL में कॉमा से अलग मानों वाले कॉलम में विशिष्ट मान खोजने के लिए FIND_IN_SET() फ़ंक्शन का उपयोग करें। यह CSV डेटा के लिए अनुकूलित है। सिंटैक्स FIND_IN_SET(search_string, comma_separated_column) लौटाता है: स्थिति (1-आधारित) यदि मिला, 0 यदि नहीं मिला, NULL यदि कोई तर्क NULL है। उदाहरण तालिका बनाएं

  1. - MySQL में VARCHAR कॉलम से अधिकतम मान कैसे प्राप्त करें

    समस्या VARCHAR कॉलम पर MAX() सीधे काम नहीं करता क्योंकि स्ट्रिंग तुलना वर्णानुक्रम में होती है। समाधान CAST() का उपयोग करके VARCHAR को UNSIGNED INTEGER में बदलें फिर MAX() लागू करें। उदाहरण INSERT INTO DemoTable2030 VALUES (8), (1), (10001), (901); क्वेरी SELECT MAX(CAST(Value AS UNSIGNED)) FRO