我是Firebird的新手。我来自SQL Server背景。
要获取当前日期,我在SQL Server中使用以下查询
SELECT GETDATE()
我正在Firebird中寻找类似的东西
答案 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_DATE
,CURRENT_TIME
和CURRENT_TIMESTAMP
(以及Firebird 3.0.5)。预期在Firebird 4中引入时区:LOCALTIME
和LOCALTIMESTAMP
)。 Firebird文档有时将它们称为'context variables'。
'now'
和CURRENT_xxx
函数之间存在差异:CURRENT_xxx
在PSQL代码中使用时,在最外层例程执行期间将保持稳定(相同值),而'now'
将被单独评估。