Question

Oracle:

select systimestamp from dual

MySQL:

select current_timestamp

SQL Server:

select current_timestamp

PostgreSQL:

select current_timestamp

La question est, comment puis-je obtenir l'horodatage en cours dans HSQLDB ? J'utilise la version 1.8.0.10

Était-ce utile?

La solution

Vous pouvez écrire

select current_timestamp from tablename  

tablename est une vraie table dans votre base de données.

Le résultat de la requête est que l'horodatage actuel.

Autres conseils

Dans une sélection j'utilise

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

@ alexdown de réponse est tout à fait droit - sous 1.8, vous avez besoin d'une relation d'une ligne à faire, comme le DUAL ou la table RDB$DATABASE Interbase / Firebird Oracle

.

Lorsque vous vous déplacez à cependant, vous serez en mesure, série 2.0 pour utiliser SQL-99 « constructeur de valeurs » sans avoir recours à une relation d'une seule ligne:

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

Si vous devez renommer la colonne des valeurs par défaut spécifiques au fournisseur que les valeurs choix, vous pouvez toujours utiliser un select: SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)

Vous pouvez utiliser

CALL current_timestamp

pour récupérer l'horodatage en cours. Selon une discussion sur la liste de diffusion HSQL ce qui est beaucoup plus efficace que de faire un mannequin de sélection INFORMATION_SCHEMA.SYSTEM_TABLES.

Avec HSQLDB 2.1 et plus tard, vous avez toutes les options.

Avec la propriété de connexion hsqldb.syntax_ora, hsqldb.syntax_pgs, hsqldb.syntax_mss ou hsqldb.syntax_mys = true, vous pouvez utiliser les formulaires pris en charge par d'autres bases de données. Le SQL est équivalent SET DATABASE SQL SYNTAX ORA TRUE et similaire pour d'autres dialectes.

Le natif, sous forme SQLStandard, soutenue par HSQLDB dans tous les modes est le suivant:

VALUES (CURRENT_TIMESTAMP)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top