Forum: SQL |
Thema:
Re: mit WHERE filtern ??? |
Von:
G. Guest (
31.10.2005 11:03) |
Genaue Tage? Naja, also die Tage sind immer vom 15. eines Monats bis zum 14. des nächsten Monats. Aber keine genauen Daten, leider.
30 Tage zurück funktioniert leider nicht. Ich muss anhand des selben Statements auch die Abrechnung ausführen. Wenn ich jetzt nur 30 Tage nehme, dann fehlen in Monaten mit 31 Tagen einige Datensätze. Und nehme ich 31 Tage, so werden Datensätze doppelt berechnet. Einmal im ersten Monat und dann im Folgemonat. Ich könnte dieses Problem umgehen, wenn ich die Daten einfach löschen würde, aber das darf ich nicht, denn ansonsten könnte man bei Einsprüchen keine Kontrolle der Daten mehr gewährleisten...
Also kann das ganze nicht funktionieren?
Thorsten
Betreff |
Von |
Datum |
|
|
Re: mit WHERE filtern ???
Hmmm ... meinst du sowas?<br><br>if datepart(dd,getdate()) <= 14 <br>begin<br>select * from tabelle <br>where datum between cast('15.' + cast(datepart(mm,getdate()-1) as nvarchar) + '.' +... |
|
|
|
|
|
Thomas
Golla
|
31.10.2005 11:16 |
|
|
Re: mit WHERE filtern ???
Hallo Tom,<br><br>also, es hat etwas gedauert bis ich das mit dem cast verstanden habe... Habe das ganze jetzt mal einzeln direkt auf dem SQL Server versucht. <br><br>select * from tabelle<br>where Datum... |
|
|
|
|
|
G.
Guest
|
31.10.2005 12:04 |
|
|
Re: mit WHERE filtern ???
Wenn es die Daten liefert die du brauchst dann ist das bestimmt richtig du ... :-)<br><br>In meinem Post ist übrigens ein Fehler drin ... <br>cast(datepart(mm,getdate()-1) as nvarchar)... |
|
|
|
|
|
G.
Guest
|
31.10.2005 12:14 |
|
|
Re: mit WHERE filtern ???
Jaja, die Klammern ;-) wahrscheinlich hatte ich gerade einen ähnlichen Fehler(oder habe ihn übernommen?), denn plötzlich funktioniert die Abfrage auch mit between...and!<br><br>So gehe ich dann auch... |
|
|
|
|
|
G.
Guest
|
31.10.2005 12:30 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!