17

甲骨文:

select systimestamp from dual

MySQL:

select current_timestamp

SQL 服务器:

select current_timestamp

PostgreSQL:

select current_timestamp

问题是,如何获取HSQLDB中的当前时间戳?我使用版本 1.8.0.10

4

5 回答 5

26

在我使用的选择中

 SELECT CURRENT_DATE AS today, CURRENT_TIME AS now FROM (VALUES(0))
于 2011-07-03T10:25:37.813 回答
10

@alexdown 的回答非常正确——在 1.8 下,您需要一个单行关系来执行此操作,例如 OracleDUAL或 InterBase/FirebirdRDB$DATABASE表。

但是,当您迁移到 2.0 系列时,您将能够使用 SQL-99“VALUES 构造函数”而不依赖于单行关系:

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

如果您需要从 VALUES 选择的特定于供应商的默认值中重命名该列,您始终可以使用选择:SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)

于 2010-04-22T15:34:22.690 回答
5

您可以使用

CALL current_timestamp

检索当前时间戳。根据 HSQL 邮件列表上的讨论,这比从INFORMATION_SCHEMA.SYSTEM_TABLES.

于 2011-08-03T08:22:14.913 回答
4

你可以写

select current_timestamp from tablename  

tablename数据库中的真实表在哪里。

查询的结果只是当前的时间戳。

于 2009-05-26T09:10:13.590 回答
4

使用 HSQLDB 2.1 及更高版本,您拥有所有选项。

通过连接属性 hsqldb.syntax_ora、hsqldb.syntax_pgs、hsqldb.syntax_mss 或 hsqldb.syntax_mys=true,您可以使用其他数据库支持的形式。等效的 SQL 是SET DATABASE SQL SYNTAX ORA TRUE, 和其他方言类似。

HSQLDB 在所有模式下都支持的原生 SQLStandard 形式是这样的:

VALUES (CURRENT_TIMESTAMP)
于 2011-04-17T09:59:19.930 回答