how to get today date in YYYYMMDD in firebird

36,462

Solution 1

I think you can do:

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

Solution 2

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)

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

Solution 3

IN FIREBIRD 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

Solution 4

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;
Share:
36,462
kuhajeyan
Author by

kuhajeyan

Developer, keen interested in java and opensource.#SOreadytohelp

Updated on July 18, 2022

Comments

  • kuhajeyan
    kuhajeyan almost 2 years

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

  • Duilio Juan Isola
    Duilio Juan Isola over 7 years
    This would throw a "String Truncation" error if the date is too long because the casting would be yyyy00.0 + mm00.0 + d.0 (float values). It should be: SELECT EXTRACT(YEAR FROM CAST('NOW' AS DATE)) || EXTRACT(MONTH FROM CAST('NOW' AS DATE)) || EXTRACT(DAY FROM CAST('NOW' AS DATE)) FROM RDB$DATABASE