dbsven78
Benutzer
- Beiträge
- 5
Ich habe die folgende Tabelle (NRW) erstellt (Datenbank heißt: Ministerpraesidenten):
+-----------------+-----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-----------+------+-----+---------+----------------+
| nrw_id | int | NO | PRI | NULL | auto_increment |
| Vorname | char(255) | NO | | NULL | |
| Nachname | char(255) | NO | | NULL | |
| Partei | char(100) | YES | | NULL | |
| Amtszeit_Beginn | date | NO | | NULL | |
| Amtszeit_Ende | date | NO | | NULL | |
+-----------------+-----------+------+-----+---------+----------------+
nrw_id | Vorname | Nachname | Partei | Amtszeit_Beginn | Amtszeit_Ende |
+--------+-----------+-------------+---------+-----------------+---------------+
| 1 | Rudolf | Amelunxen | Zentrum | 1946-08-30 | 1947-04-19 |
| 2 | Karl | Arnold | CDU | 1947-06-16 | 1956-02-19 |
| 3 | Fritz | Steinhoff | SPD | 1956-02-20 | 1958-07-20 |
| 4 | Franz | Meyers | CDU | 1958-07-21 | 1966-12-07 |
| 5 | Heinz | Kühn | SPD | 1966-12-08 | 1978-09-19 |
| 6 | Johannes | Rau | SPD | 1978-09-20 | 1998-05-26 |
| 7 | Wolfgang | Clement | SPD | 1998-05-27 | 2002-10-20 |
| 8 | Michael | Vesper | Grüne | 2002-10-21 | 2002-11-05 |
| 9 | Peer | Steinbrück | SPD | 2002-11-06 | 2005-06-21 |
| 10 | Jürgen | Rüttgers | CDU | 2005-06-21 | 2010-07-14 |
| 11 | Hannelore | Kraft | SPD | 2010-07-14 | 2017-06-27
Ich möchte jetzt eine Zeitberechnung zwischen Amtszeit_Ende und Amtszeit_Beginn durchführen, die in einer neuen Spalte erscheint.
Wenn ich den folgenden Befehl eingebe
SELECT Nachname, Amtszeit_Beginn, Amtszeit_Ende, (TO_DAYS(Amtszeit_Ende)-TO_DAYS(Amtszeit_Beginn)) AS alter FROM NRW WHERE Amtszeit_Ende IS NOT NULL ORDER BY alter;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter FROM NRW WHERE Amtszeit_Ende IS NOT NULL ORDER BY alter' at line 1
oder
SELECT Nachname Amtszeit_Ende Amtszeit_Beginn SYSDATE Amtszeit_Ende FROM NRW;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Amtszeit_Beginn SYSDATE Amtszeit_Ende FROM NRW' at line 1
Ich war auch im "Handbuch" von MySQL, aber da blicke ich leider nicht durch.
Daher frage ich nun:
Ist es möglich, dass man überhaupt die Zeit in dieser Form berechnet in MySQL so wie ich mir das vorstelle, Spaltenname Amtszeit_Ende - Amtszeit_Beginn, und wenn ja wie?
Vielen Dank im Voraus
+-----------------+-----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-----------+------+-----+---------+----------------+
| nrw_id | int | NO | PRI | NULL | auto_increment |
| Vorname | char(255) | NO | | NULL | |
| Nachname | char(255) | NO | | NULL | |
| Partei | char(100) | YES | | NULL | |
| Amtszeit_Beginn | date | NO | | NULL | |
| Amtszeit_Ende | date | NO | | NULL | |
+-----------------+-----------+------+-----+---------+----------------+
nrw_id | Vorname | Nachname | Partei | Amtszeit_Beginn | Amtszeit_Ende |
+--------+-----------+-------------+---------+-----------------+---------------+
| 1 | Rudolf | Amelunxen | Zentrum | 1946-08-30 | 1947-04-19 |
| 2 | Karl | Arnold | CDU | 1947-06-16 | 1956-02-19 |
| 3 | Fritz | Steinhoff | SPD | 1956-02-20 | 1958-07-20 |
| 4 | Franz | Meyers | CDU | 1958-07-21 | 1966-12-07 |
| 5 | Heinz | Kühn | SPD | 1966-12-08 | 1978-09-19 |
| 6 | Johannes | Rau | SPD | 1978-09-20 | 1998-05-26 |
| 7 | Wolfgang | Clement | SPD | 1998-05-27 | 2002-10-20 |
| 8 | Michael | Vesper | Grüne | 2002-10-21 | 2002-11-05 |
| 9 | Peer | Steinbrück | SPD | 2002-11-06 | 2005-06-21 |
| 10 | Jürgen | Rüttgers | CDU | 2005-06-21 | 2010-07-14 |
| 11 | Hannelore | Kraft | SPD | 2010-07-14 | 2017-06-27
Ich möchte jetzt eine Zeitberechnung zwischen Amtszeit_Ende und Amtszeit_Beginn durchführen, die in einer neuen Spalte erscheint.
Wenn ich den folgenden Befehl eingebe
SELECT Nachname, Amtszeit_Beginn, Amtszeit_Ende, (TO_DAYS(Amtszeit_Ende)-TO_DAYS(Amtszeit_Beginn)) AS alter FROM NRW WHERE Amtszeit_Ende IS NOT NULL ORDER BY alter;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'alter FROM NRW WHERE Amtszeit_Ende IS NOT NULL ORDER BY alter' at line 1
oder
SELECT Nachname Amtszeit_Ende Amtszeit_Beginn SYSDATE Amtszeit_Ende FROM NRW;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Amtszeit_Beginn SYSDATE Amtszeit_Ende FROM NRW' at line 1
Ich war auch im "Handbuch" von MySQL, aber da blicke ich leider nicht durch.
Daher frage ich nun:
Ist es möglich, dass man überhaupt die Zeit in dieser Form berechnet in MySQL so wie ich mir das vorstelle, Spaltenname Amtszeit_Ende - Amtszeit_Beginn, und wenn ja wie?
Vielen Dank im Voraus