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

MySQL में TIME_FORMAT से समय फील्ड से सेकंड कैसे हटाएं?

MySQL में TIME या DATETIME कॉलम से सेकंड हटाकर केवल घंटा:मिनट (HH:MM) फॉर्मेट में दिखाने के लिए TIME_FORMAT() फंक्शन का उपयोग करें।

सिंटैक्स

SELECT TIME_FORMAT(yourTimeColumn, '%H:%i') AS formatted_time FROM yourTableName;

फॉर्मेट स्पेसिफायर

स्पेसिफायरअर्थउदाहरण
%Hघंटा (00-23, 24-घंटा फॉर्मेट)10, 14, 23
%hघंटा (01-12, 12-घंटा फॉर्मेट)10, 02, 11
%iमिनट (00-59)05, 30, 59
%sसेकंड (00-59)45, 00, 30
%pAM/PMAM, PM

उदाहरण के साथ समझें

टेबल बनाएं:

CREATE TABLE removeSecondsFromTime (
    Id INT NOT NULL AUTO_INCREMENT,
    StartTime TIME,
    EndTime TIME,
    PRIMARY KEY(Id)
);

रिकॉर्ड डालें (सेकंड के साथ):

INSERT INTO removeSecondsFromTime(StartTime, EndTime) VALUES('10:20:45', '11:21:40');
INSERT INTO removeSecondsFromTime(StartTime, EndTime) VALUES('12:30:55', '13:20:21');
INSERT INTO removeSecondsFromTime(StartTime, EndTime) VALUES('14:40:57', '15:55:02');

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

SELECT * FROM removeSecondsFromTime;

आउटपुट:

+----+-----------+----------+
| Id | StartTime | EndTime  |
+----+-----------+----------+
| 1  | 10:20:45  | 11:21:40 |
| 2  | 12:30:55  | 13:20:21 |
| 3  | 14:40:57  | 15:55:02 |
+----+-----------+----------+

सेकंड हटाकर HH:MM फॉर्मेट में दिखाएं

SELECT TIME_FORMAT(StartTime, '%H:%i') AS StartingTime,
       TIME_FORMAT(EndTime, '%H:%i') AS EndingTime
FROM removeSecondsFromTime;

परिणाम:

+--------------+------------+
| StartingTime | EndingTime |
+--------------+------------+
| 10:20        | 11:21      |
| 12:30        | 13:20      |
| 14:40        | 15:55      |
+--------------+------------+

अन्य उपयोगी फॉर्मेट

-- 12-घंटा फॉर्मेट AM/PM के साथ
TIME_FORMAT(time, '%h:%i %p')   -- 10:20 AM

-- केवल घंटा
TIME_FORMAT(time, '%H')         -- 10

-- घंटा:मिनट:सेकंड (मूल)
TIME_FORMAT(time, '%H:%i:%s')   -- 10:20:45

DATETIME कॉलम के लिए

यदि कॉलम DATETIME है, तो पहले TIME भाग निकालें:

SELECT TIME_FORMAT(TIME(yourDateTimeCol), '%H:%i') FROM yourTable;

अपडेट में उपयोग (वास्तविक डेटा बदलने के लिए)

-- TIME कॉलम को HH:MM:00 पर सेट करें
UPDATE yourTable 
SET timeCol = TIME(TIME_FORMAT(timeCol, '%H:%i'));  -- सेकंड 00 हो जाएंगे

-- या
UPDATE yourTable 
SET timeCol = SEC_TO_TIME(TIME_TO_SEC(timeCol) - TIME_TO_SEC(timeCol) % 60);

नोट

  • TIME_FORMAT() केवल **प्रदर्शन** बदलता है, संग्रहीत मान नहीं
  • वास्तविक डेटा बदलने के लिए UPDATE में उपयोग करें
  • DATE_FORMAT() DATETIME/TIMESTAMP के लिए, TIME_FORMAT() TIME के लिए
  • इंडेक्स उपयोग के लिए WHERE में फंक्शन न लगाएं (SARGable नहीं)
  1. - MySQL में TIME_FORMAT() से समय को सेकंड के बिना HH:MM फॉर्मेट में प्रदर्शित करें

    MySQL में TIME या DATETIME कॉलम से केवल घंटे और मिनट (HH:MM) प्रदर्शित करने के लिए TIME_FORMAT() फ़ंक्शन का उपयोग करें। यह रिपोर्टिंग, UI प्रदर्शन, और समय-केवल तुलना के लिए उपयोगी है। सिंटैक्स TIME_FORMAT(time_column, %H:%i) %H - घंटा (00-23, 24-घंटा फॉर्मेट) %i - मिनट (00-59) %h - घंटा (01-12, 12

  1. - MySQL समय को HH:MM:SS से HH:MM में बदलें

    TIME_FORMAT() फंक्शन का उपयोग करके समय फॉर्मेट बदलना बदलने के लिए MySQL TIME_FORMAT() का उपयोग करें। पहले टेबल बनाएं: create table DemoTable1419 ( ArrivalTime time ); Query OK, 0 rows affected (0.78 sec) रिकॉर्ड डालें। यहां हमने समय रिकॉर्ड डाले हैं: insert into DemoTable1419 values(09:59:34); Que

  1. - MySQL में फ़ील्ड मान से कॉमा की गिनती करना

    LENGTH और REPLACE से वर्ण गिनती किसी वर्ण (जैसे कॉमा) की घटनाएँ गिनने के लिए: कुल लंबाई - उस वर्ण को हटाने के बाद की लंबाई। सिंटैक्स SELECT LENGTH(col) - LENGTH(REPLACE(col, ,, )) AS comma_count FROM table; तालिका और डेटा INSERT INTO DemoTable1510 VALUES(20,35), (45,67,89), (90,97,101,190); कॉ