Frage von MarsBesiedler, 42

SQL select Abfrage gibt Fehler "fehlender Operator"?

Ich bin SQL Anfänger und erstelle eine Abfrage für eine MS-Access Datenbank, die einen Syntaxfehler schmeißt.

SELECT TestA, TestB, AnfangsWochentag = MOD (EndWochentag - Dauer, 7)
FROM TestTabelle;

"Syntaxfehler (fehlender Operator) in Abfrageausdruck "AnfangsWochentag = MOD(EndWochentag - Dauer, 7)"

Es ist bestimmt ein Anfänger-Fehler, aber welcher (Ich ha?

Antwort
von daCypher, 26

Was willst du denn mit dem 

 AnfangsWochentag = MOD (EndWochentag - Dauer, 7)

anzeigen lassen?

Wenn er dir da Wahr oder Falsch (bzw. -1 oder 0) anzeigen soll, dann müsstest du schreiben

AnfangsWochentag = (EndWochentag-Dauer) Mod 7 AS TagIstGleich

Also die MOD Funktion umbauen, so dass sie passt.  Oder du willst einen Filter machen, dann müsstest du unten drunter schreiben

WHERE AnfangsWochentag = (EndWochentag-Dauer) Mod 7
Antwort
von Royce, 30

Die Stellung ist etwas falsch.

Deine Abfrage sollte in etwa so lauten:

SELECT TestA, TestB, AnfangsWochentag FROM Testtabelle WHERE Anfangswochentag IS MOD (Endwoichentag - Dauer, 7)

Kommentar von daCypher ,

Ist besser als der SQL-Befehl in der Frage, aber der "IS" Operator wird nur bei IS NULL oder IS NOT NULL benutzt, ansonsten ist es "=" und Mod ist Operator und keine Funktion, deshalb (Endwochentag - Dauer) Mod 7

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten