Frank: Datumsabfrage in ASP

Beitrag lesen

Ermittle jetzt den aktuellen Monat und den Tag :
response.write month(date())
response.write day(date())
liefert mir 8 für den Monat und 5 für den Tag,
wenn ich die SQL Abfrage den Monat und den Tag " manuell" eingebe:
SELECT * FROM dbo.z_ma_db where month(geburtsdatum) = '8' and day(geburtsdatum) = '5' ORDER BY nachname, vorname ASC
bringt es mir das gewünscht Ergebnis.
Setze ich jedoch anstatt der 8 z.B. month(date()) bringt er ne Fehlermeldung: Syntaxfehler beim Konvertieren des varchar-Wertes 'month(date()' in eine Spalte vom Datentyp int.
wie krieg ich nun den aktuellen Monat in die SQL Abfrage.
Wenn du hier ne Antwort hast, wäre uns beiden geholfen...
Vielen Dank bis dato
Gruß Peter

Moin nochmals!

wie ich sehe führst du das SQL von einer ASP-Seite aus aus.
dann baue doch dieses SQL-Statement über einen String zusammen

momentan hast du
SELECT * FROM dbo.z_ma_db where month(geburtsdatum) = '8' and day(geburtsdatum) = '5' ORDER BY nachname, vorname ASC

pack davor ein strSQL = und setz es in " ", so wie es ist. inklusive der Hochkommas für 5 und 8
'5'  => ist ein String, deshalb klappt es so
month(date()) gibt aber einen Integer-Wert zurück

deshalb müsste dein SQL so aussehen:
strSQL = "SELECT * FROM dbo.z_ma_db where month(geburtsdatum) = '" & month(date()) & "' and day(geburtsdatum) = '" & day(date()) & "' ORDER BY nachname, vorname ASC"

damit behandelt SQL den Wert als String .... wegen der Hochkommas die mit drin stehen.

Probiers mal so!
Gruß, Frank