Domanda

Oracle:

select systimestamp from dual

MySQL:

select current_timestamp

SQL Server:

select current_timestamp

PostgreSQL:

select current_timestamp

La domanda è: come posso ottenere il timestamp corrente in HSQLDB ? Io uso la versione 1.8.0.10

È stato utile?

Soluzione

È possibile scrivere

select current_timestamp from tablename  

dove tablename è una vera e propria tabella nel database.

Il risultato della query è solo il timestamp corrente.

Altri suggerimenti

In un prescelto io uso

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

@ di alexdown risposta è abbastanza destra - sotto 1.8 è necessario un rapporto one-fila per fare questo, come DUAL di Oracle o la tabella RDB$DATABASE InterBase / Firebird

.

Quando si sposta alla serie 2.0, tuttavia, sarete in grado di utilizzare lo SQL-99 "VALORI costruttore" senza fare affidamento su un rapporto a una riga:

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

Se è necessario rinominare la colonna dai valori di default specifici del fornitore che i valori picconi, si può sempre utilizzare un prescelto: SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)

È possibile utilizzare

CALL current_timestamp

per recuperare il timestamp corrente. Secondo una discussione sulla mailing list HSQL questo è molto più efficiente di fare un manichino selezionare dalla INFORMATION_SCHEMA.SYSTEM_TABLES.

Con HSQLDB 2.1 e versioni successive di avere tutte le opzioni.

Con la hsqldb.syntax_ora proprietà di connessione, hsqldb.syntax_pgs, hsqldb.syntax_mss o hsqldb.syntax_mys = true è possibile utilizzare i moduli supportati da altri database. Lo SQL equivalente è SET DATABASE SQL SYNTAX ORA TRUE, e simile per altri dialetti.

Il nativo, modulo SQLStandard, sostenuta da HSQLDB in tutte le modalità è questo:

VALUES (CURRENT_TIMESTAMP)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top