Jump to content

SQL Befehl - kleines Problem


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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.

Link zu diesem Kommentar
vor 5 Minuten schrieb HDsports:

nein, das *ja* ist kein Problem.
NULL und nicht NULL ist uach kein Problem. das sind ja zwei unterschiedliche Felder (2022 bzw. 2023) ;)
 

Ok. sorry. Die DATE()-Funktion ist für den Test auf NULL aber komplett überflüssig.

Du kannst natürlich gern "*ja*" in eine Varchar-Spalte schreiben.

Spezielle Datumsfunktionen sind leider in jedem DBMS anders implementiert. INTERVAL scheint es bei MSSQL so nicht zu geben.

Dort ist es wohl TIMESTAMPADD() https://learn.microsoft.com/en-us/sql/odbc/reference/appendixes/time-date-and-interval-functions?view=sql-server-ver16

 

Link zu diesem Kommentar

okay, ich habe es mit

 

SET `jr_datum2023` = DATE_ADD(`jr_datum2022`, INTERVAL 364 DAY)

 

versucht. Da kommt zwar kein Fehler, aber wenn ich auf "Abfrage simulieren" klicke, kommt bei "Gefundene Zeilen: 0". Tatsächlich sind es aber nicht 0

 

wenn ich testweise einfach SET `jr_datum2023` = `jr_datum2022` nehme, sind es 65 Zeilen.

 

EDIT: Ach funktioniert doch. Beistrich fehlte am Ende

bearbeitet von HDsports
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...