Frage

Ich bin Verlängerung der Datenschicht einer bestehenden Anwendung mit Firebird 2.5, zusätzlich zu MSSQL und SQLite zu arbeiten, aber ich habe einen Stein des Anstoßes getroffen.

Ich habe ein Feld namens Timestamp, die die Daten / Zeit als Typ Timestamp speichert. Dies funktioniert unter MSSQL und SQLite, wo der Typ Datetime ist, aber umfällt unter Firebird. Die folgende SQL:

SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"

scheinbar funktioniert, aber das Timestamp-Feld ist Rückkehr als Feldnamen „Konstant“ und der Inhalt der Text „Zeitstempel“

Ist es möglich, dies unter Firebird zu tun, oder werde ich habe das Feld umzubenennen und den Code in den anderen Datenschichten ändern.

War es hilfreich?

Lösung

Der Feuervogel Escape-Zeichen ist das doppelte Anführungszeichen ". Beachten Sie, dass in Firebird, wenn Sie ein Feld haben, die Sie mit doppelten Anführungszeichen entkommen müssen, wird es auch Groß- und Kleinschreibung. Also, wenn Sie Ihr Feld als TimeStamp deklariert haben, dann select "TIMESTAMP" ... wird ein Feld nicht gefunden Fehler fehlschlagen.

Andere Tipps

Ich habe keine Ahnung, ob es funktioniert, aber haben Sie doppelte Anführungszeichen um „Timestamp“ versucht, Apostrophe zeigt in der Regel einen konstanten String.

Viele Grüße
K

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top