Matthias H.
2004-08-23 11:35:46 UTC
Hi Leutz!
Ich muss bei in einer SQL-Klausel ein Datums-Feld mit dem
Current TimeStamp vergleichen. Das ganze unter db2-SQL,
sollte aber wenn möglich auch in anderen Datenbanken
funktionieren (Oracle, MSSQL).
Das sieht bisher bei mir so aus:
"...(VALIDAB < " + db.DBTimstampNow() + ")..."
VALIDAB ist ein Datums-Feld und db.DBTimstampNow() gibt
datenbankabhängig eine Funktion der Datenbank zurück, die
den aktuellen TimeStamp ausliest. Bei db2 wäre das
dann "current TimeStamp". Dabei kommt die Meldung:
"The data types of the operands for the operation '<' are
not compatible."
Will ich TimeStamp(Validab) vergleichen, heisst es, daß
es diese Funktion nicht gibt. Versuche ich es mit Cast
(Validab as TimeStamp) dann heisst es, daß das Date-Feld
nicht in ein TimeStamp-Feld gecastet werden kann...
Was mach ich nun?
Ich muss bei in einer SQL-Klausel ein Datums-Feld mit dem
Current TimeStamp vergleichen. Das ganze unter db2-SQL,
sollte aber wenn möglich auch in anderen Datenbanken
funktionieren (Oracle, MSSQL).
Das sieht bisher bei mir so aus:
"...(VALIDAB < " + db.DBTimstampNow() + ")..."
VALIDAB ist ein Datums-Feld und db.DBTimstampNow() gibt
datenbankabhängig eine Funktion der Datenbank zurück, die
den aktuellen TimeStamp ausliest. Bei db2 wäre das
dann "current TimeStamp". Dabei kommt die Meldung:
"The data types of the operands for the operation '<' are
not compatible."
Will ich TimeStamp(Validab) vergleichen, heisst es, daß
es diese Funktion nicht gibt. Versuche ich es mit Cast
(Validab as TimeStamp) dann heisst es, daß das Date-Feld
nicht in ein TimeStamp-Feld gecastet werden kann...
Was mach ich nun?