选择当前日期

时间:2018-12-28 03:55:54

标签: firebird

我是Firebird的新手。我来自SQL Server背景。

要获取当前日期,我在SQL Server中使用以下查询

SELECT GETDATE()

我正在Firebird中寻找类似的东西

2 个答案:

答案 0 :(得分:3)

select 'Now' from rdb$database
-- returns 'Now'
select cast('Now' as date) from rdb$database
-- returns e.g. 2008-08-13
select cast('now' as time) from rdb$database
-- returns e.g. 14:20:19.6170
select cast('NOW' as timestamp) from rdb$database
-- returns e.g. 2008-08-13 14:20:19.6170

最后三个语句的简写语法:

select date 'Now' from rdb$database
select time 'now' from rdb$database
select timestamp 'NOW' from rdb$database

答案 1 :(得分:2)

除了answer of stackoverflow中基于字符串的解决方案之外,Firebird还支持SQL标准函数CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP(以及Firebird 3.0.5)。预期在Firebird 4中引入时区:LOCALTIMELOCALTIMESTAMP)。 Firebird文档有时将它们称为'context variables'

'now'CURRENT_xxx函数之间存在差异:CURRENT_xxx在PSQL代码中使用时,在最外层例程执行期间将保持稳定(相同值),而'now'将被单独评估。