FirebirdSQL logo

DATE

Dans le dialecte 3, le type de données DATE, comme son nom l’indique, ne stocke qu’une date sans heure.Dans le dialecte 1, le type DATE est équivalent au type TIMESTAMP et stocke la date en même temps que l’heure.

La plage de stockage acceptable va de 01.01.0001 à 31.12.9999.

Tip

S’il est nécessaire de sauvegarder uniquement les valeurs de la date dans 1 dialecte, sans l’heure, lors de l’écriture dans le tableau, ajoutez l’heure à la valeur de la date comme suitlittéral '00:00:00.0000'.

Example 1. Exemple d’utilisation DATE
CRETE TABLE DataLog(
  id BIGINT NOT NULL,
  bydate DATE
);
...
AS
  DECLARE BYDATE DATE;
BEGIN
...

TIME

Syntaxe
TIME [{WITH | WITHOUT} TIME ZONE]

EXTENDED TIME WITH TIME ZONE

Ce type de données n’est disponible que dans le dialecte 3.Permet de mémoriser l’heure du jour entre 00:00:00.0000 et 23:59:59.9999.Par défaut, le type TIME ne contient aucune information sur le fuseau horaire.Pour que le type TIME comprenne des informations sur le fuseau horaire, il doit être utilisé avec le modificateur WITH TIME ZONE.

Important

L’option EXTENDED TIME WITH TIME ZONE est uniquement utilisée lors de la communication avec les clients, elle résout le problème de la présentation de l’heure correcte sur les clients qui n’ont pas de bibliothèque ICU.Vous ne pouvez pas utiliser les Types de données étendus dans les tables, les procédures, etc.La seule façon d’utiliser ces types de données est de procéder à un casting des types de données, y compris l’instruction SET BIND

(pour plus d’informations, voir la rubrique SET BIND OF).

Example 1. Exemple d’utilisation de TIME
CRETE TABLE DataLog(
  id BIGINT NOT NULL,
  bytime TIME WITH TIME ZONE
);
...
AS
  DECLARE BYTIME TIME; -- pas de fuseau horaire
  DECLARE BYTIME2 TIME WITHOUT TIME ZONE; -- pas de fuseau horaire
  DECLARE BYTIME3 TIME WITH TIME ZONE; -- avec des informations sur le fuseau horaire
BEGIN
...