Nur in MySQL vom Datetime-Typ in Date konvertieren
- 
          
            Konvertieren Sie den Typ DATETIMEin den TypDATEin MySQL
- 
          
            Verwenden Sie DATE(), umDATETIMEinDATEin MySQL umzuwandeln
- 
          
            Verwenden Sie CAST(), umDATETIMEinDATEin MySQL umzuwandeln
- 
          
            Verwenden Sie CONVERT(), umDATETIMEinDATEin MySQL umzuwandeln
- 
          
            Verwenden Sie DATE_FORMAT(), umDATETIMEinDATEin MySQL umzuwandeln
 
Heute lernen wir die Methoden DATE(), CAST(), CONVERT() und DATE_FORMAT() kennen, um in MySQL vom Typ DATETIME in den Typ DATE zu konvertieren. Die oben genannten Methoden sind verfügbar und können in MySQL-Version 4.0 und höher verwendet werden.
Konvertieren Sie den Typ DATETIME in den Typ DATE in MySQL
    
Um es anhand von Codebeispielen zu verstehen, erstellen wir eine orders-Tabelle mit id, productName, orderNumber und orderDateTime als Attributen; Wir werden auch einen Primärschlüssel mit dem Feld id erstellen. Siehe die folgenden Abfragen.
Beispielcode:
CREATE TABLE orders(
    id INT NOT NULL,
    productName VARCHAR(50) NOT NULL,
    orderNumber INT NOT NULL,
    orderDateTime DATETIME NOT NULL,
    PRIMARY KEY(id)
);
INSERT INTO orders (id, productName, orderNumber, orderDateTime)
VALUES
(1, 'Oppo F17', 3322, '2022-04-11 04:32:15'),
(2, 'DELL Laptop', 5433, '2022-05-12 12:23:09'),
(3, 'HP Mouse', 3489, '2022-05-16 07:23:16');
SELECT * FROM orders;
Ausgang:
+----+-------------+-------------+---------------------+
| id | productName | orderNumber | orderDateTime       |
+----+-------------+-------------+---------------------+
|  1 | Oppo F17    |        3322 | 2022-04-11 04:32:15 |
|  2 | DELL Laptop |        5433 | 2022-05-12 12:23:09 |
|  3 | HP Mouse    |        3489 | 2022-05-16 07:23:16 |
+----+-------------+-------------+---------------------+
3 rows in set (0.00 sec)
Sobald die Tabelle fertig ist, können wir nun je nach Projektanforderungen eine der folgenden Methoden anwenden, um das Ziel zu erreichen.
Verwenden Sie DATE(), um DATETIME in DATE in MySQL umzuwandeln
Beispielcode:
 SELECT id, productName, orderNumber, DATE(orderDateTime) FROM orders;
Ausgang:
+----+-------------+-------------+---------------------+
| id | productName | orderNumber | DATE(orderDateTime) |
+----+-------------+-------------+---------------------+
|  1 | Oppo F17    |        3322 | 2022-04-11          |
|  2 | DELL Laptop |        5433 | 2022-05-12          |
|  3 | HP Mouse    |        3489 | 2022-05-16          |
+----+-------------+-------------+---------------------+
3 rows in set (0.00 sec)
Die Funktion DATE() kann den Teil DATE aus dem gültigen Feld vom Typ DATE oder DATETIME ziehen. Es gibt NULL zurück, wenn ein ungültiger Ausdruck übergeben wird.
Wir können diesen Artikel verwenden, wenn wir Daten auch nur nach dem DATUM gruppieren möchten.
Verwenden Sie CAST(), um DATETIME in DATE in MySQL umzuwandeln
    
Beispielcode:
SELECT id, productName, orderNumber, CAST(orderDateTime AS DATE) FROM orders;
Ausgang:
+----+-------------+-------------+-----------------------------+
| id | productName | orderNumber | CAST(orderDateTime AS DATE) |
+----+-------------+-------------+-----------------------------+
|  1 | Oppo F17    |        3322 | 2022-04-11                  |
|  2 | DELL Laptop |        5433 | 2022-05-12                  |
|  3 | HP Mouse    |        3489 | 2022-05-16                  |
+----+-------------+-------------+-----------------------------+
3 rows in set (0.00 sec)
Die Methode CAST() wird verwendet, um den Wert des einen Datentyps in einen anderen gegebenen Datentyp umzuwandeln (zu konvertieren).
Verwenden Sie CONVERT(), um DATETIME in DATE in MySQL umzuwandeln
Beispielcode:
SELECT id, productName, orderNumber, CONVERT(orderDateTime, DATE) FROM orders;
Ausgang:
+----+-------------+-------------+------------------------------+
| id | productName | orderNumber | CONVERT(orderDateTime, DATE) |
+----+-------------+-------------+------------------------------+
|  1 | Oppo F17    |        3322 | 2022-04-11                   |
|  2 | DELL Laptop |        5433 | 2022-05-12                   |
|  3 | HP Mouse    |        3489 | 2022-05-16                   |
+----+-------------+-------------+------------------------------+
3 rows in set (0.00 sec)
Wir können auch die Methode CONVERT() verwenden, um das Feld vom Typ DATETIME nur in DATE umzuwandeln. Es akzeptiert zwei Argumente - das erste ist der Wert, der konvertiert werden muss, und das zweite ist der Datentyp, in den der angegebene Wert konvertiert wird.
Verwenden Sie DATE_FORMAT(), um DATETIME in DATE in MySQL umzuwandeln
Beispielcode:
SELECT id, productName, orderNumber,
DATE_FORMAT(orderDateTime, '%Y-%m-%d') FROM orders;
Ausgang:
+----+-------------+-------------+----------------------------------------+
| id | productName | orderNumber | DATE_FORMAT(orderDateTime, '%Y-%m-%d') |
+----+-------------+-------------+----------------------------------------+
|  1 | Oppo F17    |        3322 | 2022-04-11                             |
|  2 | DELL Laptop |        5433 | 2022-05-12                             |
|  3 | HP Mouse    |        3489 | 2022-05-16                             |
+----+-------------+-------------+----------------------------------------+
3 rows in set (0.00 sec)
Die Funktion DATE_FORMAT() wandelt den Typ DATETIME in den Typ DATE um und ist nützlich, um das aktuelle Datumsformat zu ändern. Wenn wir zum Beispiel das DATUM im Format d/m/Y anzeigen möchten, können wir das wie folgt tun.
Beispielcode:
SELECT id, productName, orderNumber,
DATE_FORMAT(orderDateTime, '%d/%m/%Y') FROM orders;
Ausgang:
+----+-------------+-------------+----------------------------------------+
| id | productName | orderNumber | DATE_FORMAT(orderDateTime, '%d/%m/%Y') |
+----+-------------+-------------+----------------------------------------+
|  1 | Oppo F17    |        3322 | 11/04/2022                             |
|  2 | DELL Laptop |        5433 | 12/05/2022                             |
|  3 | HP Mouse    |        3489 | 16/05/2022                             |
+----+-------------+-------------+----------------------------------------+
3 rows in set (0.00 sec)
Wir können es auch mit der Funktion DATE_FORMAT() in das folgende Format umwandeln, wenn wir anstelle der Monatsnummer den Monatsnamen sehen möchten.
Beispielcode:
SELECT id, productName, orderNumber,
DATE_FORMAT(orderDateTime, '%D %M %Y') FROM orders;
Ausgang:
+----+-------------+-------------+----------------------------------------+
| id | productName | orderNumber | DATE_FORMAT(orderDateTime, '%D %M %Y') |
+----+-------------+-------------+----------------------------------------+
|  1 | Oppo F17    |        3322 | 11th April 2022                        |
|  2 | DELL Laptop |        5433 | 12th May 2022                          |
|  3 | HP Mouse    |        3489 | 16th May 2022                          |
+----+-------------+-------------+----------------------------------------+
3 rows in set (0.00 sec)
