Fonctions de date et d'heure

CLEM comprend une famille de fonctions pour gérer les champs avec stockage datetime de variables de type chaîne représentant des dates et des heures.

Les formats de date et d'heure utilisés sont spécifiques à chaque flux et sont précisés dans les propriétés du flux. Les fonctions de date et d'heure analysent les chaînes de date et d'heure en fonction du format actuellement sélectionné.

Lorsque vous spécifiez une année dans une date qui n'utilise que deux chiffres (c'est-à-dire que le siècle n'est pas spécifié), SPSS Modeler utilise le siècle par défaut spécifié dans les propriétés du flux.

Tableau 1. Fonctions de date et d'heure CLEM
Fonction Résultat Descriptif
@TODAY Chaîne Si vous sélectionnez Jours/minutes de roulement dans les propriétés de flux, cette fonction renvoie la date du jour sous forme de chaîne dans le format de date actuel. Si vous utilisez un format de date à deux chiffres et que vous ne sélectionnez pas Rollover days/mins, cette fonction renvoie $null$ sur le serveur actuel.
to_time(ITEM) Durée Convertit le stockage du champ spécifié en heure.
to_date(ITEM) Date : Convertit le stockage du champ spécifié en date.
to_timestamp(ITEM) Horodatage Convertit le stockage du champ spécifié en horodatage.
to_datetime(ITEM) Datetime Convertit le stockage du champ spécifié en une valeur de date, d'heure ou d'horodatage.
datetime_date(ITEM) Date : Renvoie la valeur de date d' un nombre, d'une chaîne ou d'un horodatage. Notez que c'est la seule fonction qui vous permet de reconvertir un nombre (en secondes) en date. Si ITEM est une chaîne, crée une date en analysant une chaîne dans le format de date actuel. Le format de date spécifié dans les propriétés de flux doit être correct pour que cette fonction soit exécutée correctement. Si ITEM est un nombre, il est interprété comme un nombre de secondes depuis la date de base (ou époque). Les fractions de jour sont tronquées. Si ITEM est un horodatage, la partie date de l'horodatage est renvoyée. Si ITEM est une date, elle est renvoyée sans modification.
date_before(DATE1, DATE2) Booléen Renvoie la valeur true si DATE1 représente une date ou un horodatage antérieur à celui représenté par DATE2. Sinon, cette fonction renvoie la valeur 0.
date_days_difference(DATE1, DATE2) Entier Renvoie le temps en jours entre la date ou l'horodatage représenté par DATE1 à celle représentée par DATE2, sous forme d'entier. Si DATE2 est inférieur à DATE1, cette fonction renvoie un nombre négatif.
date_in_days(DATE) Entier Renvoie le nombre de jours écoulés entre la date de référence et la date ou l'horodatage représenté par DATE, sous forme d'entier. Si DATE est antérieure à la date de référence, cette fonction renvoie un nombre négatif. Vous devez inclure une date valide pour que le calcul fonctionne correctement. Par exemple, vous ne devez pas indiquer le 29 février 2001 comme date. L'année 2001 n'étant pas bissextile, cette date n'existe pas.
date_in_months(DATE) Réal Renvoie le temps en mois entre la date de référence et la date ou l'horodatage représenté par DATE, sous forme de nombre réel. Il s'agit d'un chiffre approximatif basé sur un mois de jours d' 30.4375. Si DATE est antérieure à la date de référence, cette fonction renvoie un nombre négatif. Vous devez inclure une date valide pour que le calcul fonctionne correctement. Par exemple, vous ne devez pas indiquer le 29 février 2001 comme date. L'année 2001 n'étant pas bissextile, cette date n'existe pas.
date_in_weeks(DATE) Réal Renvoie le temps en semaines entre la date de référence et la date ou l'horodatage représenté par DATE, sous forme de nombre réel. Ceci est basé sur une semaine de jours ouvrés ( 7.0 ). Si DATE est antérieure à la date de référence, cette fonction renvoie un nombre négatif. Vous devez inclure une date valide pour que le calcul fonctionne correctement. Par exemple, vous ne devez pas indiquer le 29 février 2001 comme date. L'année 2001 n'étant pas bissextile, cette date n'existe pas.
date_in_years(DATE) Réal Renvoie le temps en années entre la date de référence et la date ou l'horodatage représenté par DATE, sous forme de nombre réel. Il s'agit d'un chiffre approximatif basé sur une année de 365.25 s de jours. Si DATE est antérieure à la date de référence, cette fonction renvoie un nombre négatif. Vous devez inclure une date valide pour que le calcul fonctionne correctement. Par exemple, vous ne devez pas indiquer le 29 février 2001 comme date. L'année 2001 n'étant pas bissextile, cette date n'existe pas.
date_months_difference (DATE1, DATE2) Réal Renvoie le temps en mois entre la date ou l'horodatage représenté par DATE1 à celle représentée par DATE2, sous forme de nombre réel. Il s'agit d'un chiffre approximatif basé sur un mois de jours d' 30.4375. Si DATE2 est inférieur à DATE1, cette fonction renvoie un nombre négatif.
datetime_date(YEAR, MONTH, DAY) Date : Crée une valeur de date pour l'ANNÉE, le MOIS et le JOUR donnés. Les arguments doivent être des entiers.
datetime_day(DATE) Entier Renvoie le jour du mois à partir d' une DATE ou d'un horodatage donné. Le résultat est un entier compris entre 1 et 31.
datetime_day_name(DAY) Chaîne Renvoie le nom complet du DAY donné. L'argument doit être un entier compris entre 1 (dimanche) et 7 (samedi).
datetime_hour(TIME) Entier Renvoie l'heure à partir d' une TIME ou d'un horodatage. Le résultat est un entier compris entre 0 et 23.
datetime_in_seconds(TIME) Réal Renvoie la partie des secondes stockée dans TIME.
datetime_in_seconds(DATE), datetime_in_seconds(DATETIME) Réal Renvoie le nombre cumulé, converti en secondes, de la différence entre la DATE ou la DATE-HEURE actuelle et la date de référence (1900-01-01).
datetime_minute(TIME) Entier Renvoie la minute d' une heure ou d'un horodatage. Le résultat est un entier compris entre 0 et 59.
datetime_month(DATE) Entier Renvoie le mois à partir d' une DATE ou d'un horodatage. Le résultat est un entier compris entre 1 et 12.
datetime_month_name (MONTH) Chaîne Renvoie le nom complet du MOIS donné. L'argument doit être un entier compris entre 1 et 12.
datetime_now Horodatage Renvoie l'heure actuelle sous forme d'horodatage.
datetime_second(TIME) Entier Renvoie le second d' un TIME ou d'un timestamp. Le résultat est un entier compris entre 0 et 59.
datetime_day_short_name (DAY) Chaîne Renvoie le nom abrégé du DAY donné. L'argument doit être un entier compris entre 1 (dimanche) et 7 (samedi).
datetime_month_short_name (MONTH) Chaîne Renvoie le nom abrégé du MOIS donné. L'argument doit être un entier compris entre 1 et 12.
datetime_time(HOUR, MINUTE, SECOND) Durée Renvoie la valeur temporelle pour les champs HEURE, MINUTE et SECONDE spécifiés. Les arguments doivent être des entiers.
datetime_time(ITEM) Durée Renvoie la valeur temporelle de l'ITEM donné.
datetime_timestamp(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND) Horodatage Renvoie la valeur de l'horodatage pour l'ANNÉE, le MOIS, le JOUR, l'HEURE, la MINUTE et la SECONDE indiqués.
datetime_timestamp(DATE, TIME) Horodatage Renvoie la valeur de l'horodatage pour la DATE et l'HEURE données.
datetime_timestamp (NUMBER) Horodatage Renvoie la valeur de l'horodatage du nombre de secondes donné.
datetime_weekday(DATE) Entier Renvoie le jour de la semaine à partir de la DATE ou de l'horodatage donné.
datetime_year(DATE) Entier Renvoie l'année à partir d' une DATE ou d'un horodatage. Le résultat est un entier tel que 2021.
date_weeks_difference (DATE1, DATE2) Réal Renvoie le temps en semaines entre la date ou l'horodatage représenté par DATE1 à celle représentée par DATE2, sous forme de nombre réel. Ceci est basé sur une semaine de jours ouvrés ( 7.0 ). Si DATE2 est inférieur à DATE1, cette fonction renvoie un nombre négatif.
date_years_difference (DATE1, DATE2) Réal Renvoie le temps en années entre la date ou l'horodatage représenté par DATE1 à celle représentée par DATE2, sous forme de nombre réel. Il s'agit d'un chiffre approximatif basé sur une année de 365.25 s de jours. Si DATE2 est inférieur à DATE1, cette fonction renvoie un nombre négatif.
date_from_ywd(YEAR, WEEK, DAY) Entier Convertit l'année, la semaine dans l'année et le jour dans la semaine en date en utilisant la norme ISO 8601.
date_iso_day(DATE) Entier Renvoie le jour de la semaine à partir de la date en utilisant la norme ISO 8601.
date_iso_week(DATE) Entier Renvoie la semaine de l'année à partir de la date en utilisant la norme ISO 8601.
date_iso_year(DATE) Entier Renvoie l'année à partir de la date en utilisant la norme ISO 8601.
time_before(TIME1, TIME2) Booléen Renvoie la valeur true si TIME1 représente un temps ou un horodatage antérieur à celui représenté par TIME2. Sinon, cette fonction renvoie la valeur 0.
time_hours_difference (TIME1, TIME2) Réal Renvoie la différence de temps en heures entre les heures ou horodatages représentés par TIME1 et TIME2, sous forme de nombre réel. Si vous sélectionnez Jours/minutes de roulement dans les propriétés de déroulement, une valeur plus élevée de TIME1 est pris pour faire référence au jour précédent. Si vous ne sélectionnez pas l'option de rollover, une valeur plus élevée de TIME1, la valeur renvoyée est négative.
time_in_hours(TIME) Réal Renvoie le temps en heures représenté par TIME, sous la forme d'un nombre réel. Par exemple, sous le format de temps HHMM, l'expression time_in_hours('0130') donne 1.5. TIME peut représenter une heure ou un horodatage.
time_in_mins(TIME) Réal Renvoie le temps en minutes représenté par TIME, sous la forme d'un nombre réel. TIME peut représenter une heure ou un horodatage.
time_in_secs(TIME) Entier Renvoie le temps en secondes représenté par TIME, sous forme d'entier. TIME peut représenter une heure ou un horodatage.
time_mins_difference(TIME1, TIME2) Réal Renvoie la différence de temps en minutes entre les heures ou les horodatages représentés par TIME1 et TIME2, sous la forme d'un nombre réel. Si vous sélectionnez Jours/minutes de roulement dans les propriétés de déroulement, une valeur plus élevée de TIME1 est utilisé pour faire référence au jour précédent (ou à l'heure précédente, si seuls les minutes et les secondes sont spécifiées dans le format actuel). Si vous ne sélectionnez pas l'option de rollover, une valeur plus élevée de TIME1 entraînera une valeur négative.
time_secs_difference(TIME1, TIME2) Entier Renvoie la différence de temps en secondes entre les heures ou les horodatages représentés par TIME1 et TIME2, sous forme d'entier. Si vous sélectionnez Jours/minutes de roulement dans les propriétés de déroulement, une valeur plus élevée de TIME1 est utilisé pour faire référence au jour précédent (ou à l'heure précédente, si seuls les minutes et les secondes sont spécifiées dans le format actuel). Si vous ne sélectionnez pas l'option de rollover, une valeur plus élevée de TIME1, la valeur renvoyée est négative.