SQL - Datum

Comments (...)

FAQ - SQL/NexusDB2 - Omezení vět za 1 den:

 

SELECT

   CisloZbozi,DatumDokladu

FROM

   HR21Y_FA

WHERE

   (datumdokladu >= TIMESTAMP '2002-01-05 00:00:00') and

   (datumdokladu <= TIMESTAMP '2002-01-05 23:59:59')

 

- pro pole DatumDokladu typu TIMESTAMP existuje index

 

 

 

2006.11.20a / 16:00

 

002) Rozdíly v SQL pod NexusDB2 proti FF213

 

    - datumové pole v FF2 tabulkách mělo charakter pole DateTime v NexusDB2,

      protože vedle datumu obsahovalo i čas

 

      při použití takového pole v SQL stačilo v FF213 použít např.:

 

       SELECT DatumDokladu 

       FROM XX6_X_FA 

       WHERE DatumDokladu > DATE '2006-06-30' 

 

      v NexusDB2 je toto pole ale striktně typu DateTime a výše uvedený

      příklad je nutné upravit pomoci přetypování na tvar:

 

       SELECT DatumDokladu 

       FROM XX6_X_FA 

       WHERE CAST(DatumDokladu AS DATE) > DATE '2006-06-30' 

 

 

 

2003.08.23b / 14:00

 

02) Příklad SQL dotazu s omezením na 1 den:

 

    SELECT 

       *

    FROM 

       xx21y_r1

    WHERE

       (DatumDokladu >= DATE '2002-01-02') and (DatumDokladu < DATE '2002-01-03')

 

   ... nelze zadat přímo = DATE 'RRRR-MM-DD', je nutné použít uvedený postup

 

   je možné použít i následující způsob - doba generování je asi o 1/3 delší:

 

    SELECT 

       *

    FROM 

       xx21y_r1

    WHERE

       (EXTRACT (YEAR FROM DatumDokladu) = 2002) and

       (EXTRACT (MONTH FROM DatumDokladu) = 1) and

       (EXTRACT (DAY FROM DatumDokladu) = 2)

 

Comments (...)

Created with Help & Manual 6 and styled with Premium Pack 2.0