Subtrair hora do Timestamp
Estou tentando fazer este select mas está dando erro alguém pode me ajudar?
SELECT ACE_DATAHOTA
FROM ACESSOS
WHERE ACE.ACE_DATAHORA >= CURRENT_TIMESTEMP - CAST('00:15:00' AS TIME)
Firebird 2.1
SELECT ACE_DATAHOTA
FROM ACESSOS
WHERE ACE.ACE_DATAHORA >= CURRENT_TIMESTEMP - CAST('00:15:00' AS TIME)
Firebird 2.1
Tiago Soares
Curtidas 0
Respostas
Deivison Melo
02/08/2013
Está com erro de sintaxe... Não tenho o firebird aqui instalado para testar para vc!
Veja esses artigos, tenho certeza que irá ajudá-lo.
http://edn.embarcadero.com/article/33724
https://www.devmedia.com.br/forum/timestamp-firebird/366200
http://www.arquivodecodigos.net/dicas/firebird-aprenda-a-usar-os-tipos-de-dados-date-time-e-timestamp-do-firebird-3252.html
Veja esses artigos, tenho certeza que irá ajudá-lo.
http://edn.embarcadero.com/article/33724
https://www.devmedia.com.br/forum/timestamp-firebird/366200
http://www.arquivodecodigos.net/dicas/firebird-aprenda-a-usar-os-tipos-de-dados-date-time-e-timestamp-do-firebird-3252.html
GOSTEI 0
Junior Miranda
02/08/2013
SELECT cast(cast(current_timestamp as time) - 4500 as timestamp) FROM rdb$database
Converta o total de minutos em segundos.
[]´s
GOSTEI 0
Tiago Soares
02/08/2013
O meu problema é que o '00:15:00' é uma variável e pode ser por exemplo '01:30:30'.
GOSTEI 0
Tiago Soares
02/08/2013
Fiz uma gambi aqui e funcionou.
Eu fiz assim:
Fica a dica.
Caso alguém saiba uma solução melhor posta ai.
Eu fiz assim:
ACE.ACE_DATAHORA >= DATEADD(HOUR, - EXTRACT(HOUR FROM CAST('01:15:20' AS TIME)), DATEADD(MINUTE, - EXTRACT(MINUTE FROM CAST('01:15:20' AS TIME)), DATEADD(SECOND, - EXTRACT(SECOND FROM CAST('01:15:20' AS TIME)), CURRENT_TIMESTAMP)))
SELECT CURRENT_TIMESTAMP, DATEADD(HOUR, - EXTRACT(HOUR FROM CAST('01:15:00' AS TIME)), DATEADD(MINUTE, - EXTRACT(MINUTE FROM CAST('01:15:00' AS TIME)), DATEADD(SECOND, - EXTRACT(SECOND FROM CAST('01:15:00' AS TIME)), CURRENT_TIMESTAMP))) FROM rdb$database
Fica a dica.
Caso alguém saiba uma solução melhor posta ai.
GOSTEI 0