FirebirdSQL logo

TIMESTAMP

Syntaxe
TIMESTAMP [{WITH | WITHOUT} TIME ZONE]

EXTENDED TIMESTAMP WITH TIME ZONE

Ce type de données enregistre un horodatage (date et heure) dans la plage 01.01.0001 00:00:00.0000 à 31.12.9999 23:59:59.9999.Par défaut, le type TIMESTAMP ne contient aucune information sur le fuseau horaire.Pour que le type TIMESTAMP comprenne des informations sur le fuseau horaire, il doit être utilisé avec le modificateur WITH TIME ZONE.

Important

EXTENDED TIMESTAMP WITH TIME ZONE est uniquement destiné à être utilisé lors de la communication avec les clients, il résout le problème de la présentation de l’heure correcte sur les clients qui ne disposent pas d’une 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,
  bydate TIMESTAMP WITH TIME ZONE
);
...
AS
  DECLARE BYDATE TIMESTAMP; -- pas de fuseau horaire
  DECLARE BYDATE2 TIMESTAMP WITHOUT TIME ZONE; -- pas de fuseau horaire
  DECLARE BYDATE3 TIMESTAMP WITH TIME ZONE; -- avec des informations sur le fuseau horaire
BEGIN
...

Fuseau horaire de la session

Le fuseau horaire de la session, comme son nom l’indique, peut être différent pour chaque connexion à la base de données.Il peut être défini avec le DPB isc_dpb_session_time_zone, et sinon, il sera lu à partir du paramètre DefaultTimeZone de la configuration firebird.conf.Si le paramètre DefaultTimeZone n’est pas défini, le fuseau horaire de la session sera le même que celui utilisé par le système d’exploitation dans lequel le processus Firebird est exécuté.

Le fuseau horaire de la session peut être modifié à l’aide de l’opérateur SET TIME ZONEou rétablissez la valeur d’origine avec `SET TIME ZONE LOCAL'.