Référence des fonctions d'horodatage SQL
Référence rapide pour les opérations d'horodatage sur les systèmes de bases de données populaires.
Horodatage actuel
| Base de données | Horodatage actuel (UTC) | Horodatage actuel (local) |
|---|
| MySQL | NOW(), UTC_TIMESTAMP() | NOW(), LOCALTIMESTAMP() |
| PostgreSQL | NOW(), CURRENT_TIMESTAMP | NOW(), CURRENT_TIMESTAMP |
| SQLite | datetime('now') | MTXCODE9FIN |
| Serveur SQL | MTXCODE10FIN | GETDATE(), SYSDATETIME() |
| Oracle | MTXCODE13FIN, MTXCODE14FIN | MTXCODE15FIN |
Opérations d'horodatage Unix
Obtenir l'horodatage Unix actuel
| Base de données | Codes |
|---|
| MySQL | MTXCODE16FIN |
| PostgreSQL | MTXCODE17FIN |
| SQLite | MTXCODE18FIN |
| Serveur SQL | MTXCODE19FIN |
| Oracle | MTXCODE20FIN |
Convertir l'horodatage Unix en date
| Base de données | Codes |
|---|
| MySQL | MTXCODE21FIN |
| PostgreSQL | MTXCODE22FIN |
| SQLite | MTXCODE23FIN |
| Serveur SQL | MTXCODE24FIN |
| Oracle | MTXCODE25FIN |
Convertir la date en horodatage Unix
| Base de données | Codes |
|---|
| MySQL | MTXCODE26FIN |
| PostgreSQL | MTXCODE27FIN |
| SQLite | MTXCODE28FIN |
| Serveur SQL | MTXCODE29FIN |
| Oracle | MTXCODE30FIN |
Formatage des dates
Formats de dates courants
| Base de données | OIN 8601 | Format américain | Format UE |
|---|
| MySQL | MTXCODE31FIN | MTXCODE32FIN | MTXCODE33FIN |
| PostgreSQL | MTXCODE34FIN | MTXCODE35FIN | MTXCODE36FIN |
| SQLite | MTXCODE37FIN | - | - |
| Serveur SQL | MTXCODE38FIN | MTXCODE39FIN | MTXCODE40FIN |
| Oracle | MTXCODE41FIN | MTXCODE42FIN | MTXCODE43FIN |
Opérations de fuseau horaire
Obtenir le fuseau horaire actuel
| Base de données | Codes |
|---|
| MySQL | TIMEZONE_NAME, @@time_zone |
| PostgreSQL | MTXCODE46FIN |
| SQLite | N/A (pas de prise en charge du fuseau horaire) |
| Serveur SQL | MTXCODE47FIN, MTXCODE48FIN |
| Oracle | MTXCODE49FIN, MTXCODE50FIN |
Convertir le fuseau horaire
| Base de données | Codes |
|---|
| MySQL | MTXCODE51FIN |
| PostgreSQL | MTXCODE52FIN |
| SQLite | N/A |
| Serveur SQL | MTXCODE53FIN |
| Oracle | MTXCODE54FIN |
Arithmétique de l'horodatage
Ajouter/soustraire du temps
| Base de données | Ajouter 1 jour | Soustraire 1 heure |
|---|
| MySQL | MTXCODE55FIN | MTXCODE56FIN |
| PostgreSQL | MTXCODE57FIN | MTXCODE58FIN |
| SQLite | MTXCODE59FIN | MTXCODE60FIN |
| Serveur SQL | MTXCODE61FIN | MTXCODE62FIN |
| Oracle | MTXCODE63FIN | MTXCODE64FIN |
Calculer la différence
| Base de données | Jours entre |
|---|
| MySQL | MTXCODE65FIN |
| PostgreSQL | MTXCODE66FIN |
| SQLite | MTXCODE67FIN |
| Serveur SQL | MTXCODE68FIN |
| Oracle | MTXCODE69FIN |
## meilleures pratiques
1. Stocker les horodatages en UTC
Stockez toujours les horodatages au format UTC et convertissez-les en heure locale uniquement lors de leur affichage aux utilisateurs.
-- Good: Store in UTC
CREATE TABLE events (
id INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Better: Explicit UTC
CREATE TABLE events (
id INT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
2. Utilisez les types de données appropriés
| Cas d'utilisation | Type recommandé |
|---|
| Stockage UTC | MTXCODE0FIN |
| Heure locale uniquement | MTXCODE1FIN |
| Horodatage Unix | BIGINT (pour la portabilité) |
| Dates seulement | MTXCODE3FIN |
3. Gérer correctement les conversions de fuseau horaire
-- PostgreSQL example
SELECT
created_at AT TIME ZONE 'UTC' AS utc_time,
created_at AT TIME ZONE 'America/New_York' AS ny_time,
created_at AT TIME ZONE 'Asia/Shanghai' AS shanghai_time
FROM events;
Outils associés