SQL Befehl: Datum neues Jahr

HDsports

Benutzer
Beiträge
11
Hallo,
ich habe für einen Eventkalender immer das Datum vom alten Jahr auf das neue Jahr übernommen und dabei per SQL-Befehl einfach 52 Wochen ergänzt. Dazu habe ich folgenden Befehl verwendet:
UPDATE `ngie_jreviews_content`
SET `jr_datum2023` = `jr_datum2022` + INTERVAL 364 DAY,
`jr_termin2023offen` = '*ja*'
WHERE `jr_datum2023` IS NULL
AND DATE(`jr_datum2022`) IS NOT NULL;
Nun funktioniert interessanterweise dieser Befehl nicht mehr. Da scheint es wohl am "INTERVAL 364 DAY" zu haken.
Als Fehlermeldung erhalte ich in phpmyadmin:
dot.gif
#1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei ')' in Zeile 2

Könnt ihr da weiterhelfen? Vor einem Jahr hatte dieser Befehl noch einwandfrei funktioniert.
 
Werbung:
Vor einem Jahr hatte dieser Befehl noch einwandfrei funktioniert.

Tja, MySQL halt ;-)

Deine 'Formel' ist eh falsch, das Jahr hat meist 365 Tagen und manchmal sogar mehr.

Code:
postgres=# select current_date, (current_date + '1year'::interval)::date;
 current_date |    date    
--------------+------------
 2023-08-31   | 2024-08-31
(1 row)

postgres=#

Nebenbei habe ich den Eindruck, daß Dein Tabellendesign Murks ist.
 
Werbung:
Arithmetische Operatoren gehen schlichtweg nicht mit Datumswerten in MySQL/MariaDB. Du musst date_add() verwenden
Na ja, doof nur das es so in den Manuals steht. Geht auch und ging auch immer !! Also schlichtweg falsch deine Aussage !


Beispiel aus MariaDB:
Code:
For example, the SECOND unit is used below by the DATE_ADD() function:

SELECT '2008-12-31 23:59:59' + INTERVAL 1 SECOND;
+-------------------------------------------+
| '2008-12-31 23:59:59' + INTERVAL 1 SECOND |
+-------------------------------------------+
| 2009-01-01 00:00:00                       |
+-------------------------------------------+


 
Zurück
Oben