选择当前日期

问题描述 投票:0回答:2

我是 Firebird 的新手。我有 SQL Server 背景。

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

SELECT GETDATE()

我正在火鸟中寻找类似的东西

firebird
2个回答
7
投票
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

7
投票

除了stackoverflow答案中基于字符串的解决方案之外,Firebird还支持SQL标准函数

CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
(以及Firebird 2.5.9和Firebird) 3.0.5 预计在 Firebird 4 中引入时区:
LOCALTIME
LOCALTIMESTAMP
)。 Firebird 文档有时将它们称为“上下文变量”。

'now'

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

© www.soinside.com 2019 - 2024. All rights reserved.