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)