SQL 如何在firebird中以YYYYMMDD获取今天的日期

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/21240469/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 00:48:59  来源:igfitidea点击:

how to get today date in YYYYMMDD in firebird

sqlfirebirdfirebird2.5

提问by kuhajeyan

how to get today date in YYYYMMDD in firebird, I had a look on followingbut could not figured how to write this.

如何在 firebird 的 YYYYMMDD 中获取今天的日期,我查看了以下内容,但不知道如何写。

回答by Gordon Linoff

I think you can do:

我认为你可以这样做:

select replace(cast(cast('Now' as date) as varchar(10)), '-', '')
from rdb$database 

回答by ASTERIAN75

This is a fully version (in Integer)

这是一个完整的版本(整数)

select  Extract(year FROM cast('NOW' as date))*10000 +
        Extract(month FROM cast('NOW' as date))*100 +
        Extract(day  FROM cast('NOW' as date)) from rdb$database

This is a fully version (in VARCHAR)

这是一个完整版本(在 VARCHAR 中)

select  CAST(Extract(year FROM cast('NOW' as date))*10000 +
        Extract(month FROM cast('NOW' as date))*100 +
        Extract(day  FROM cast('NOW' as date)) AS VARCHAR(8)) from rdb$database

回答by Altivo

IN FIREBIRD v2.5.5:

在火鸟 v2.5.5 中:

SELECT    LPAD( EXTRACT( YEAR FROM CURRENT_TIMESTAMP ), 4, '0' ) ||
          LPAD( EXTRACT( MONTH FROM CURRENT_TIMESTAMP ), 2, '0' ) ||
          LPAD( EXTRACT( DAY FROM CURRENT_TIMESTAMP ), 2, '0' ) || ' ' ||
          LPAD( EXTRACT( HOUR FROM CURRENT_TIMESTAMP ), 2, '0' ) ||
          LPAD( EXTRACT( MINUTE FROM CURRENT_TIMESTAMP ), 2, '0' ) || 
          LPAD( TRUNC( EXTRACT( SECOND FROM CURRENT_TIMESTAMP ) ), 2, '0' )
FROM      rdb$database

OUTPUT IS: YYYYMMDD HHMMSS

输出是:YYYYMMDD HHMMSS

回答by Ashish Ratan

This Should work.

这应该工作。

CREATE TABLE tab( t time, d date, ts timestamp );
INSERT INTO tab(t,d,ts) VALUES ('14:59:23', '2007-12-31', '2007-12-31 14:59');

SELECT CAST(CAST(d as varchar(10)))
FROM tab;