Nur in MySQL vom Datetime-Typ in Date konvertieren

Mehvish Ashiq 20 Juni 2023
  1. Konvertieren Sie den Typ DATETIME in den Typ DATE in MySQL
  2. Verwenden Sie DATE(), um DATETIME in DATE in MySQL umzuwandeln
  3. Verwenden Sie CAST(), um DATETIME in DATE in MySQL umzuwandeln
  4. Verwenden Sie CONVERT(), um DATETIME in DATE in MySQL umzuwandeln
  5. Verwenden Sie DATE_FORMAT(), um DATETIME in DATE in MySQL umzuwandeln
Nur in MySQL vom Datetime-Typ in Date konvertieren

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)
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Verwandter Artikel - MySQL Date