Cómo hacerlo “seleccione current_timestamp” en hsqldb?
-
05-09-2019 - |
Pregunta
Oracle:
select systimestamp from dual
MySQL:
select current_timestamp
SQL Server:
select current_timestamp
PostgreSQL:
select current_timestamp
La pregunta es, ¿cómo puedo obtener la fecha y hora actual en HSQLDB ? Yo uso la versión 1.8.0.10
Solución
Se puede escribir
select current_timestamp from tablename
donde tablename
es una tabla real en su base de datos.
El resultado de la consulta es la única marca de tiempo actual.
Otros consejos
En un selecto utilizo
SELECT CURRENT_DATE AS today, CURRENT_TIME AS now FROM (VALUES(0))
@ alexdown de respuesta es bastante derecho - bajo 1.8 necesita una relación de una sola fila para hacer esto, al igual que DUAL
de Oracle o la mesa RDB$DATABASE
InterBase / Firebird
Cuando se mueve a la serie 2.0, sin embargo, usted será capaz de utilizar el constructor de "valores" SQL-99 sin depender de una relación de una sola fila:
sql> VALUES (current_timestamp);
2010-04-22 15:22:40.997
Si necesita cambiar el nombre de la columna de los valores predeterminados específicos del proveedor que los valores picos, siempre se puede emplear un selecto: SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)
Puede utilizar
CALL current_timestamp
para recuperar la fecha y hora actual. De acuerdo con una discusión sobre la lista de distribución HSQL esto es mucho más eficiente que hacer un muñeco de selección de INFORMATION_SCHEMA.SYSTEM_TABLES
.
Con HSQLDB 2.1 y posterior que tiene todas las opciones.
Con la hsqldb.syntax_ora propiedad de conexión, hsqldb.syntax_pgs, hsqldb.syntax_mss o hsqldb.syntax_mys = true puede utilizar las formas apoyadas por otras bases de datos. El SQL equivalente es SET DATABASE SQL SYNTAX ORA TRUE
, y similar para otros dialectos.
El nativo, forma SQLStandard, con el apoyo de HSQLDB en todos los modos es la siguiente:
VALUES (CURRENT_TIMESTAMP)