Heim > Datenbank > MySQL-Tutorial > Wie kann ich in MySQL ein DATE-Objekt aus separaten Tages-, Monats- und Jahresfeldern erstellen?

Wie kann ich in MySQL ein DATE-Objekt aus separaten Tages-, Monats- und Jahresfeldern erstellen?

Linda Hamilton
Freigeben: 2024-12-23 04:57:37
Original
406 Leute haben es durchsucht

How Can I Create a DATE Object in MySQL from Separate Day, Month, and Year Fields?

Erstellen Sie ein Datumsobjekt aus Tages-, Monats- und Jahresfeldern in MySQL

In einem Datenbankschema mit einer „Datums“-Tabelle, die separate enthält Wenn Sie Felder für „Tag“, „Monat“ und „Jahr“ verwenden, muss für Vergleiche ein Datumsobjekt erstellt werden. In diesem Artikel wird eine Lösung zum Erstellen eines Datumsobjekts aus diesen ganzzahligen Werten beschrieben.

Mit den Funktionen MAKEDATE() und DATE_ADD() kann eine DATETIME aus den Komponenten Jahr, Monat und Tag erstellt werden. MAKEDATE() generiert eine DATETIME, die den ersten Tag des angegebenen Jahres darstellt. Anschließend kann DATE_ADD() angewendet werden, um die Monats- und Tageswerte hinzuzufügen.

Zum Beispiel:

SELECT MAKEDATE(2013, 1);
+-------------------+
| MAKEDATE(2013, 1) |
+-------------------+
| 2013-01-01        |
+-------------------+
Nach dem Login kopieren

So integrieren Sie die Monats- und Tageswerte:

SELECT DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH);
+---------------------------------------------------+
| DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH) |
+---------------------------------------------------+
| 2013-03-01                                        |
+---------------------------------------------------+
Nach dem Login kopieren

Die Kombination mehrerer DATE_ADD()-Aufrufe ermöglicht eine präzise Datumskonstruktion:

SELECT DATE_ADD(DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH), INTERVAL (11)-1 DAY);
| DATE_ADD(DATE_ADD(MAKEDATE(2013, 1), INTERVAL (3)-1 MONTH), INTERVAL (11)-1 DAY) |
+----------------------------------------------------------------------------------+
| 2013-03-11                                                                       |
+----------------------------------------------------------------------------------+
Nach dem Login kopieren

Um damit eine Datumsbereichsabfrage auszuführen Technik:

SELECT * FROM `date`
WHERE DATE_ADD(DATE_ADD(MAKEDATE(year, 1), INTERVAL (month)-1 MONTH), INTERVAL (day)-1 DAY)
BETWEEN '2013-01-01' AND '2014-01-01';
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL ein DATE-Objekt aus separaten Tages-, Monats- und Jahresfeldern erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage