Pergunta

Oracle:

select systimestamp from dual

MySQL:

select current_timestamp

SQL Server:

select current_timestamp

PostgreSQL:

select current_timestamp

A questão é: como posso obter a hora atual em HSQLDB ? Eu uso a versão 1.8.0.10

Foi útil?

Solução

Você pode escrever

select current_timestamp from tablename  

onde tablename é uma tabela real em seu banco de dados.

O resultado da consulta é apenas o timestamp atual.

Outras dicas

Em um seleto uso I

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

de @ alexdown resposta é bastante direito - em 1,8 você precisa de uma relação de uma linha para fazer isso, como DUAL da Oracle ou mesa RDB$DATABASE o InterBase / Firebird

.

Quando você move para a série 2.0, no entanto, você vai ser capaz de usar o SQL-99 "VALORES construtor" sem depender de uma relação de uma linha:

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

Se você precisar mudar o nome da coluna dos padrões específicos do fornecedor que os valores picaretas, você sempre pode contratar um select: SELECT * FROM (VALUES (current_timestamp)) v(my_new_name)

Você pode usar

CALL current_timestamp

para recuperar o timestamp atual. De acordo com uma discussão sobre a lista de discussão HSQL isso é muito mais eficiente do que fazendo um boneco de selecionar a partir de INFORMATION_SCHEMA.SYSTEM_TABLES.

Com HSQLDB 2.1 e mais tarde você tem todas as opções.

Com a hsqldb.syntax_ora propriedade de conexão, hsqldb.syntax_pgs, hsqldb.syntax_mss ou hsqldb.syntax_mys = true você pode utilizar os formulários suportados por outros bancos de dados. O SQL equivalente é SET DATABASE SQL SYNTAX ORA TRUE, e semelhante para outros dialetos.

O, forma SQLStandard nativa, apoiado por HSQLDB em todos os modos é a seguinte:

VALUES (CURRENT_TIMESTAMP)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top