PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Renvoie l'horodatage Unix dans PostgreSQL

Dans PostgreSQL, nous pouvons utiliser le extract() fonction avec l'epoch argument pour renvoyer l'horodatage Unix.

Nous pouvons renvoyer l'horodatage Unix en fonction de la date/heure actuelle, ou nous pouvons l'obtenir en fonction d'une autre date/heure spécifiée.

L'horodatage Unix (également appelé heure d'époque Unix, heure Unix ou heure POSIX) est le nombre de secondes qui se sont écoulées depuis 00:00:00 jeudi 1er janvier 1970, temps universel coordonné (UTC).

Obtenir l'horodatage Unix actuel

Voici un exemple d'obtention de l'horodatage Unix à partir de la date et de l'heure actuelles :

SELECT extract(epoch from now());

Résultat :

1650152298.430101

Valeurs de date

Voici un exemple d'obtention de l'horodatage Unix à partir d'une date spécifiée valeur :

SELECT extract(epoch from date '2030-08-15');

Résultat :

1912982400

Lorsqu'il est utilisé avec date valeurs, epoch renvoie le nombre nominal de secondes depuis le 1970-01-01 00:00:00, sans tenir compte du fuseau horaire ou des règles d'heure d'été.

Valeurs d'horodatage

Voici un exemple d'obtention de l'horodatage Unix à partir d'un timestamp spécifié valeur :

SELECT extract(epoch from timestamp '2030-08-15 03:30:45');

Résultat :

1912995045

Lorsqu'il est utilisé avec timestamp valeurs, epoch renvoie le nombre nominal de secondes depuis le 1970-01-01 00:00:00, sans tenir compte des règles de fuseau horaire ou d'heure d'été. C'est la même chose que lors de l'utilisation de date valeurs.

Horodatage avec valeur de fuseau horaire

Voici un exemple d'obtention de l'horodatage Unix à partir d'un timestamp with time zone spécifié valeur :

SELECT extract(
    epoch from timestamp with time zone '2030-08-15 03:30:45.12-08'
    );

Résultat :

1913023845.12

Lorsqu'il est utilisé avec timestamp with time zone valeurs, epoch renvoie le nombre de secondes depuis le 1970-01-01 00:00:00 UTC (négatif pour les horodatages avant)

Intervalles

Nous pouvons également obtenir un horodatage Unix à partir d'un interval valeur :

SELECT extract(epoch from interval '7 days 2 hours');

Résultat :

612000

Lorsqu'il est utilisé avec interval valeurs, epoch renvoie le nombre total de secondes dans l'intervalle.