Partager via


Modèles de date/heure

S’applique à :case marquée oui Databricks SQL case marquée oui Databricks Runtime

Il existe plusieurs scénarios courants d’utilisation du modèle date/heure dans Azure Databricks :

Table de modèles

Azure Databricks utilise les lettres de modèle du tableau suivant pour l’analyse et la mise en forme des dates et des timestamps :

Symbole Signification Présentation Exemples
G Ère texte Ap. J.-C. ; après Jésus-Christ
y année année 2020 ; 20
D Jour de l’année Nombre(3) 189
M/L Mois de l’année mois 7 ; 07 ; juil. ; juillet
d Jour du mois Nombre(3) 28
Q/q Trimestre de l’année Nombre/texte 3 ; 03 ; T3 ; 3e trimestre
E Jour de la semaine texte Mar. ; mardi
F Jour de la semaine aligné dans le mois Nombre(1) 3
un Matin ou après-midi Matin/après-midi PM
h Heure format 12 h (1 à 12) Nombre(2) 12
K Heure format 12 h (0 à 11) Nombre(2) 0
k Heure format 24 h (1 à 24) Nombre(2) 0
H Heure format 24 h (0 à 23) Nombre(2) 0
m Minute de l’heure Nombre(2) 30
s Seconde de la minute Nombre(2) 55
S Fraction de seconde fraction 978
V ID de fuseau horaire ID de zone Amérique/Los Angeles ; Z ; -08:30
z Nom du fuseau horaire Nom de zone Pacific Standard Time ; PST
O Décalage de zone localisée Décalage O GMT+8 ; GMT+08:00 ; UTC-08:00
X décalage interzone 'Z' pour zéro Décalage X Z ; -08 ; -0830 ; -08:30 ; -083015 ; -08:30:15
x Décalage de zone Décalage x +0000 ; -08 ; -0830 ; -08:30 ; -083015 ; -08:30:15
Z Décalage de zone Décalage Z +0000 ; -0800 ; -08:00
' Échappement pour le texte délimiteur
'' quote unique littéral '
[ Début de section facultative
] Fin de section facultative

C’est le nombre de lettres de modèle qui détermine la forme.

  • Texte : le style de texte est déterminé en fonction du nombre de lettres de modèle utilisées. S’il y a moins de quatre lettres de modèle, la forme texte court est utilisée (généralement une abréviation). Par exemple, le lundi jour de la semaine peut générer « Lun ». Avec exactement quatre lettres de modèle, la forme texte intégral est employée (généralement la description complète). Par exemple, le lundi jour de la semaine peut donner « lundi ». Au-delà de quatre lettres, l’opération échoue.

  • Nombre(n) : le nombre n représente le nombre maximal de lettres que ce type de modèle DateHeure peut utiliser. S’il est égal à un, la valeur est générée avec le nombre minimal de chiffres et sans remplissage. Dans le cas contraire, le nombre de chiffres est utilisé comme largeur du champ de sortie, la valeur étant si nécessaire complétée à l’aide de zéros.

  • Nombre/texte : si le nombre de lettres de modèle est supérieur ou égal à trois, utilisez les règles Texte ci-dessus. Sinon, suivez les règles Nombre ci-dessus.

  • Fraction : utilisez un ou plusieurs caractères 'S' contigus (jusqu’à neuf), par exemple SSSSSS, pour analyser et mettre en forme une fraction de seconde. Pour l’analyse, la longueur de fraction acceptable peut être [1, le nombre de 'S' contigus]. Pour la mise en forme, la longueur de la fraction est complétée au nombre de 'S' contigus en ajoutant des zéros. Azure Databricks prend en charge le modèle date/heure à une précision de l’ordre des microsecondes, qui comporte jusqu’à six chiffres significatifs. L’analyse peut en revanche se faire jusqu’à la nanoseconde, la partie en dépassement étant tronquée.

  • Année : le nombre de lettres détermine la largeur minimale du champ au-dessous de laquelle un remplissage est utilisé. S’il est égal à deux, une forme réduite à deux chiffres est utilisée. Pour l’impression, les deux chiffres les plus à droite sont générés en sortie. L’analyse prend comme base la valeur 2000, ce qui se traduit par une année comprise entre 2000 et 2099 inclus. Si le nombre de lettres est inférieur à quatre (mais pas égal à deux), le signe n’est généré que pour les années négatives. Sinon, le signe est généré lorsque la largeur du champ est dépassée en l'absence de « G ». Au-delà de six lettres, l’opération échoue.

  • Mois : il suit la règle Nombre/texte. Le formulaire de texte dépend des lettres : 'M' désigne le formulaire « standard » et 'L' correspond au formulaire « autonome ». Ces deux formes ne diffèrent que dans certaines langues. Par exemple, en Russe, 'Июль' est la forme autonome de juillet, et 'Июля' est la forme standard. Voici des exemples pour toutes les lettres de modèle prises en charge :

    • 'M' ou 'L' : numéro de mois d’une année à partir de 1. Il n’existe aucune différence entre 'M' et 'L'. Les mois 1 à 9 sont imprimés sans remplissage.

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' ou 'LL' : numéro de mois d’une année à partir de 1. Un remplissage à l’aide de zéros est ajouté pour les mois 1 à 9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM' : représentation textuelle courte dans la forme standard. Le modèle de mois doit faire partie d’un modèle de date (au lieu d’un mois autonome), à l’exception des paramètres régionaux dans lesquels il n’y a aucune différence entre la forme standard et la forme autonome (par exemple en anglais).

      > SELECT date_format(date '1970-01-01', 'd MMM');
        1 Jan
      
      -- Passing a format pattern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'dd MMM', 'locale', 'RU'));
        01 янв.
      
    • 'MMMM' : représentation du mois en texte intégral dans la forme standard. Elle est utilisée pour mettre en forme et analyser les mois dans le cadre de dates et de timestamps.

      > SELECT date_format(date '1970-01-01', 'd MMMM');
        1 January
      
      -- Passing a format pttern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'd MMMM', 'locale', 'RU'));
        1 января
      
  • Matin/après-midi : génère en sortie le matin ou l’après-midi. Le nombre de lettres de modèle doit être égal à un.

  • ID de zone (V) : génère en sortie l’ID de fuseau horaire. Le nombre de lettres de modèle doit être égal à deux.

  • Noms de zone (z) : génère en sortie le nom textuel d’affichage de l’ID de fuseau horaire. Si le nombre de lettres est égal à un, deux ou trois, le nom abrégé est affiché. S’il est égal à quatre, c’est le nom complet qui apparaît. Au-delà de quatre lettres, l’opération échoue.

  • Décalage X et x : met en forme le décalage en fonction du nombre de lettres de modèle. Une lettre génère uniquement l’heure, par exemple « +01 », sauf si la minute n’est pas égale à zéro, auquel cas la minute est également sortie, par exemple « +0130 ». Deux lettres génèrent l’heure et la minute, sans deux-points, par exemple « +0130 ». Trois lettres affichent l'heure et la minute, séparées par un deux-points, par exemple « +01:30 ». Quatre lettres affichent l’heure et la minute et la seconde facultative, sans deux-points, par exemple « +013015 ». Cinq lettres affichent l’heure et la minute et la seconde facultative, avec un signe deux-points, par exemple « +01:30:15 ». Au-delà de cinq lettres, l’opération échoue. La lettre de modèle 'X' (majuscule) génère 'Z' lorsque le décalage à générer est égal à zéro, tandis que la lettre de modèle 'x' (minuscule) génère '+00', '+000' ou '+00:00'.

  • Décalage O : met en forme le décalage localisé en fonction du nombre de lettres de modèle. Une lettre produit la forme abrégée du décalage localisé, qui est un texte de décalage localisé, tel que « GMT », avec l'heure affichée sans zéro de tête, une minute facultative à 2 chiffres et une seconde également facultative si elle est non nulle, ainsi que le signe deux-points, par exemple « GMT+8 ». Quatre lettres affichent le formulaire complet, qui est un texte décalé localisé, tel que « GMT, avec un champ heure à 2 chiffres et une minute, un deuxième champ facultatif s’il n’est pas égal à zéro et deux-points, par exemple « GMT+08:00 ». Avec un autre nombre de lettres, l’opération échoue.

  • Décalage Z : met en forme le décalage en fonction du nombre de lettres de modèle. Une, deux ou trois lettres génère l’heure et la minute, sans deux-points, par exemple « +0130 ». La sortie est « +0000 » lorsque le décalage est égal à zéro. Quatre lettres donnent la forme complète du décalage localisé, équivalant à quatre lettres du décalage O. La sortie est le texte de décalage localisé correspondant si le décalage est égal à zéro. Avec cinq lettres sont représentées l’heure, la minute et la seconde facultative si elle est différente de zéro, avec le signe deux-points. Elle génère « Z » si le décalage est égal à zéro. Au-delà de cinq lettres, l’opération échoue.

  • Début et fin de section facultative : utilisez [] pour définir une section facultative et éventuellement imbriquée. Pendant la mise en forme, toutes les données valides sont générées, même si elles se trouvent dans la section facultative. Lors de l’analyse, toute la section peut être absente de la chaîne analysée. Une section facultative commence par [ et finit par ] (ou la fin du modèle).

  • Les symboles de 'E', 'F', 'q' et 'Q' ne peuvent être utilisés que pour la mise en forme datetime, par exemple date_format. Ils ne sont pas autorisés dans l’analyse DateHeure (to_timestamp).