che*_*vim 16 sql database hsqldb embedded-database
甲骨文:
select systimestamp from dual
Run Code Online (Sandbox Code Playgroud)
MySQL的:
select current_timestamp
Run Code Online (Sandbox Code Playgroud)
SQL Server:
select current_timestamp
Run Code Online (Sandbox Code Playgroud)
PostgreSQL的:
select current_timestamp
Run Code Online (Sandbox Code Playgroud)
问题是,如何获取HSQLDB中的当前时间戳?我使用的是1.8.0.10版
小智 24
在我使用的选择中
SELECT CURRENT_DATE AS today, CURRENT_TIME AS now FROM (VALUES(0))
Run Code Online (Sandbox Code Playgroud)
pil*_*row 10
@ alexdown的回答非常正确 - 在1.8下你需要一个单行关系才能做到这一点,比如Oracle DUAL或InterBase/Firebird RDB$DATABASE表.
但是,当您转到2.0系列时,您将能够使用SQL-99"VALUES构造函数"而不依赖于单行关系:
sql> VALUES (current_timestamp);
2010-04-22 15:22:40.997
Run Code Online (Sandbox Code Playgroud)
如果您需要从VALUES选择的特定于供应商的默认值重命名该列,您始终可以使用select: SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)
您可以使用
CALL current_timestamp
Run Code Online (Sandbox Code Playgroud)
检索当前时间戳。根据 HSQL 邮件列表上的讨论,这比从 中进行虚拟选择要高效得多INFORMATION_SCHEMA.SYSTEM_TABLES。
你可以写
select current_timestamp from tablename
Run Code Online (Sandbox Code Playgroud)
其中tablename是数据库中的真实表。
查询的结果只是当前时间戳。