17 Stimmen

Wie mache ich "select current_timestamp" in HSQLDB?

Oracle:

select systimestamp from dual

MySQL:

select current_timestamp

SQL Server:

select current_timestamp

PostgreSQL:

select current_timestamp

Die Frage ist, wie bekomme ich den aktuellen Zeitstempel in HSQLDB? Ich verwende die Version 1.8.0.10

26voto

jeanlou1370 Punkte 362

In einem Select verwende ich

 SELECT CURRENT_DATE AS today, CURRENT_TIME AS now FROM (VALUES(0))

10voto

pilcrow Punkte 53851

@alexdown's Antwort ist ziemlich richtig - unter 1.8 benötigen Sie eine Ein-Zeilen-Relation, um dies zu tun, wie Oracles DUAL oder die InterBase/Firebird-Tabelle RDB$DATABASE.

Wenn Sie jedoch zur 2.0-Serie wechseln, können Sie den SQL-99 "VALUES-Konstruktor" ohne Abhängigkeit von einer Ein-Zeilen-Relation verwenden:

sql> VALUES (current_timestamp);
2010-04-22 15:22:40.997

Wenn Sie den Spaltennamen von den vom Anbieter festgelegten Standardeinstellungen, die VALUES auswählt, ändern müssen, können Sie immer ein SELECT verwenden: SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)

5voto

Sie können verwenden

CALL current_timestamp

um den aktuellen Zeitstempel abzurufen. Laut einer Diskussion in der HSQL-Mailingliste ist dies viel effizienter als ein Dummy-Select von INFORMATION_SCHEMA.SYSTEM_TABLES durchzuführen.

4voto

alexdown Punkte 262

Sie können schreiben

select current_timestamp from tablename  

wo tablename eine echte Tabelle in Ihrer Datenbank ist.

Das Ergebnis der Abfrage ist nur der aktuelle Zeitstempel.

4voto

fredt Punkte 23206

Mit HSQLDB 2.1 und später haben Sie alle Optionen.

Mit der Verbindungseigenschaft hsqldb.syntax_ora, hsqldb.syntax_pgs, hsqldb.syntax_mss oder hsqldb.syntax_mys=true können Sie die von anderen Datenbanken unterstützten Formen verwenden. Das entsprechende SQL lautet SET DATABASE SQL SYNTAX ORA TRUE und ähnlich für andere Dialekte.

Die native, SQLStandard-Form, die von HSQLDB in allen Modi unterstützt wird, ist diese:

VALUES (CURRENT_TIMESTAMP)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X