Zitat von
CG2003:
Aha. Das war mir nicht bekannt.
Aber was hat es mit den PCHar-Typen und diesem ominösen CAST auf sich. (Sorry, aber von "CAST" höre ich heute das erste Mal).
Wie ist das zu verwenden?
Muss ich meine ganze Datenbank umkrempeln? Wäre äusserst unpraktisch jetzt...
Ich habe mir deinen
Query einmal genauer angeschaut, was willst du mit ihm bezwecken
SELECT PartNr, COUNT(*) FROM Buchungen WHERE PartDatum BETWEEN :vonDatum and :endDatum AND PartStatus = 'Abbuchung';
Die Abfrage ist m.E. fehlerhaft, da count eine aggregatfunktion ist. d.H in diesem Fall werden alle Datensätze zusammengefasst. Nicht aggregierte Felder( in deinem Fall PartNr) müssen bei allen datensätzen gleich sein, was man durch ein GROUP BY errreicht also:
SELECT PartNr, COUNT(*) FROM Buchungen WHERE PartDatum BETWEEN :vonDatum and :endDatum AND PartStatus = 'Abbuchung' group by PartNr;
Wieviele Datensätze sind in deiner Datenbank?
Ich würde Feldtypen nach den wirklichen Typen der Daten auswählen. D.h Datumsfelder als Date, Zahlen als integer oder numeric usw.
BTW du kannst die Daten ja auslagern, die Felder anpassen und die Dtaen wieder importiern.