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

SQL में यूजर-डिफाइंड वेरिएबल में इन्क्रीमेंट मान सेट करके मल्टीपल टाइमस्टैम्प मानों को इन्क्रीमेंट करना

यूजर-डिफाइंड वेरिएबल और INTERVAL के साथ टाइमस्टैम्प इन्क्रीमेंट

मल्टीपल टाइमस्टैम्प मानों को एक ही मात्रा (सेकंड, मिनट, घंटे, आदि) से इन्क्रीमेंट करने के लिए इन्क्रीमेंट मान को यूजर-डिफाइंड वेरिएबल में स्टोर करें और फिर UPDATE में INTERVAL के साथ उपयोग करें।

सिंटैक्स:

SET @anyVariableName := yourValue;
UPDATE yourTableName SET yourColumnName = yourColumnName + INTERVAL (@yourVariableName) SECOND;

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable (
    DueDatetime TIMESTAMP
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable VALUES ('2019-01-31 12:30:40');
mysql> INSERT INTO DemoTable VALUES ('2019-09-06 10:00:00');
mysql> INSERT INTO DemoTable VALUES ('2019-09-07 11:10:24');

सभी रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------------------+
| DueDatetime           |
+-----------------------+
| 2019-01-31 12:30:40   |
| 2019-09-06 10:00:00   |
| 2019-09-07 11:10:24   |
+-----------------------+

सभी टाइमस्टैम्प मानों को 12 सेकंड से इन्क्रीमेंट करने के लिए क्वेरी:

mysql> SET @secondValue := 12;
mysql> UPDATE DemoTable SET DueDatetime = DueDatetime + INTERVAL (@secondValue) SECOND;

आउटपुट: Query OK, 3 rows affected

टेबल रिकॉर्ड्स फिर से जांचें:

mysql> SELECT * FROM DemoTable;

आउटपुट:

+-----------------------+
| DueDatetime           |
+-----------------------+
| 2019-01-31 12:30:52   |
| 2019-09-06 10:00:12   |
| 2019-09-07 11:10:36   |
+-----------------------+

व्याख्या:

  • SET @secondValue := 12: इन्क्रीमेंट मान (12 सेकंड) वेरिएबल में स्टोर करता है
  • INTERVAL (@secondValue) SECOND: वेरिएबल मान को सेकंड इंटरवल के रूप में उपयोग करता है
  • DueDatetime + INTERVAL ...: प्रत्येक पंक्ति के टाइमस्टैम्प में 12 सेकंड जोड़ता है
  • सभी 3 पंक्तियाँ अपडेट हुईं (Rows matched: 3, Changed: 3)

अन्य समय इकाइयां:

INTERVAL (@var) SECOND    -- सेकंड
INTERVAL (@var) MINUTE    -- मिनट
INTERVAL (@var) HOUR      -- घंटे
INTERVAL (@var) DAY       -- दिन
INTERVAL (@var) MONTH     -- महीने
INTERVAL (@var) YEAR      -- वर्ष

लाभ: वेरिएबल का उपयोग करने से इन्क्रीमेंट मान एक ही स्थान पर परिभाषित होता है, जिससे रखरखाव आसान होता है और टाइपो से बचा जाता है।

  1. - MySQL में यूजर-डिफाइंड वेरिएबल से अधिकतम परीक्षा तारीख प्राप्त करें

    SELECT ... INTO से अधिकतम तारीख को वेरिएबल में स्टोर करें उपयोगकर्ता-परिभाषित वेरिएबल में अधिकतम तारीख स्टोर करने के लिए SELECT MAX(कॉलम) INTO @वेरिएबल का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2001 ( ExamDate date ); Query OK, 0 rows affected (0.60 sec) mysql> inse

  1. - MySQL में विकल्प डिफ़ॉल्ट, मान अपेक्षित विकल्प और '=' चिह्न

    MySQL प्रोग्राम में लंबे विकल्प नाम जो मान लेते हैं, उन्हें आमतौर पर = चिह्न के साथ लिखा जाता है, लेकिन यह हमेशा अनिवार्य नहीं है। वाक्यविन्यास नियम मान वाले विकल्प: --option=value या --option value दोनों मान्य हैं। बूलियन विकल्प: --option (सक्षम), --skip-option या --disable-option या --option=0 (

  1. - MySQL कमांड-लाइन क्लाइंट (mysql): अवलोकन और उपयोग

    mysql एक सरल SQL शेल है जिसमें इनपुट लाइन संपादन क्षमता है। इंटरैक्टिव और नॉन-इंटरैक्टिव दोनों उपयोग समर्थित। आउटपुट प्रारूप इंटरैक्टिव: ASCII टेबल प्रारूप। नॉन-इंटरैक्टिव (फिल्टर/पाइप): टैब-सेपरेटेड प्रारूप। --quick विकल्प: बड़े परिणाम सेट के लिए मेमोरी बफरिंग से बचने के लिए पंक्ति-दर-पंक्ति प्रा