DATE_SUB |
Soustraction de date |
|---|---|
| BigQuery | |
Syntaxe
| DATE_SUB(date_expression, INTERVAL INT64_expr date_part) |
Paramètres
| Nom | Description |
|---|---|
| date_expression | Ce paramètre permet de spécifier l'expression de type DATE de laquelle la quantité de temps doit être soustraite. |
| INT64_expr | Ce paramètre permet de spécifier la quantité entière à soustraire de la date_expression. Cette valeur doit être un entier (INT64). |
| date_part | Ce paramètre permet de spécifier l'unité de temps (par exemple, DAY, WEEK, MONTH, YEAR) de laquelle la quantité (INT64_expr) doit être soustraite. Les parties de temps valides incluent DAY, WEEK, MONTH, QUARTER, YEAR. |
Description
Cette fonction permet de soustraire une quantité de temps à une date existante.
Remarques
- Fonction dédiée à la manipulation de dates rétroactives : DATE_SUB est utilisée pour calculer une date antérieure à partir d'une date existante, en soustrayant un intervalle défini. Elle est idéale pour identifier des événements passés, comme "7 jours avant aujourd'hui" ou "un trimestre en arrière".
- Utilise une syntaxe explicite et lisible : La syntaxe DATE_SUB(date_expression, INTERVAL x date_part) rend l'intention claire et facilite la lecture du code. Elle est cohérente avec d'autres fonctions temporelles similaires dans BigQuery comme DATE_ADD, ce qui favorise la standardisation des requêtes SQL.
- Le paramètre date_part permet de contrôler le niveau de granularité : La flexibilité du paramètre date_part permet de soustraire différents types d'unités de temps comme DAY, WEEK, MONTH, QUARTER ou YEAR. Cela autorise un large éventail d'applications, du calcul de délais quotidiens à des analyses annuelles.
- Les valeurs partielles sont ignorées (pas de fractions) : Le nombre de jours, semaines ou mois à soustraire doit être un entier (INT64). On ne peut donc pas utiliser cette fonction pour soustraire des fractions d'unité (comme 1,5 mois). Cela garantit un comportement déterministe sans approximation.
- Compatible avec les constantes comme avec les colonnes dynamiques : La fonction peut être utilisée avec une date fixe (DATE '2024-12-01') ou avec des colonnes dans une base de données. Cela la rend aussi bien adaptée à des requêtes statiques qu'à des analyses dynamiques sur des données massives.
- Ne dépend pas du temps (heure, minute, seconde) : Étant basée uniquement sur le type DATE, DATE_SUB ignore les éléments d'heure. Elle ne modifie ni ne retourne d'information temporelle en dehors du calendrier. Cela assure une logique purement calendaire, sans considération pour les fuseaux horaires.
- Très utile pour générer des périodes de référence dans les rapports : Elle est souvent utilisée dans les clauses WHERE pour restreindre les résultats à une période passée, par exemple :
- WHERE event_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
- Aide à modéliser des règles métier ou des échéanciers : DATE_SUB permet de simuler des échéances, comme des délais de traitement, des dates d'expiration ou de renouvellement. Elle permet d'automatiser des scénarios où l'on doit savoir si une date est déjà passée ou si une action est en retard.
Cela permet d'obtenir facilement les données des 30 derniers jours, ou d'autres intervalles rétrospectifs.
Dernière mise à jour : Jeudi, le 18 Juin 2020