Nur in MySQL vom Datetime-Typ in Date konvertieren
-
Konvertieren Sie den Typ
DATETIME
in den TypDATE
in MySQL -
Verwenden Sie
DATE()
, umDATETIME
inDATE
in MySQL umzuwandeln -
Verwenden Sie
CAST()
, umDATETIME
inDATE
in MySQL umzuwandeln -
Verwenden Sie
CONVERT()
, umDATETIME
inDATE
in MySQL umzuwandeln -
Verwenden Sie
DATE_FORMAT()
, umDATETIME
inDATE
in 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)