甲骨文:
select systimestamp from dual
MySQL:
select current_timestamp
SQL 服务器:
select current_timestamp
PostgreSQL:
select current_timestamp
问题是,如何获取HSQLDB中的当前时间戳?我使用版本 1.8.0.10
甲骨文:
select systimestamp from dual
MySQL:
select current_timestamp
SQL 服务器:
select current_timestamp
PostgreSQL:
select current_timestamp
问题是,如何获取HSQLDB中的当前时间戳?我使用版本 1.8.0.10
在我使用的选择中
SELECT CURRENT_DATE AS today, CURRENT_TIME AS now FROM (VALUES(0))
@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)
您可以使用
CALL current_timestamp
检索当前时间戳。根据 HSQL 邮件列表上的讨论,这比从INFORMATION_SCHEMA.SYSTEM_TABLES
.
你可以写
select current_timestamp from tablename
tablename
数据库中的真实表在哪里。
查询的结果只是当前的时间戳。
使用 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)