Modèles de date/heure
S’applique à : Databricks SQL Databricks Runtime
Il existe plusieurs scénarios courants d’utilisation du modèle date/heure dans Azure Databricks :
- Les sources de données CSV et JSON qui utilisent la chaîne de modèle pour l’analyse et la mise en forme du contenu DateHeure.
- Les fonctions DateHeure relatives à la conversion de
STRING
enDATE
ouTIMESTAMP
(et inversement), Par exemple :
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 | text | Ap. J.-C. ; après Jésus-Christ |
y | year | year | 2020 ; 20 |
D | Jour de l’année | Nombre(3) | 189 |
M/L | Mois de l’année | month | 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 | text | Mar. ; mardi |
F | Jour de la semaine aligné dans le mois | Nombre(1) | 3 |
a | 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 de la zone (« 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 | delimiter | |
‘’ | 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 exempleSSSSSS
, pour analyser et mettre en forme une fraction de seconde. Pour l’analyse, la longueur de fraction acceptable peut être [1, nombre de « S » contigus]. Pour la mise en forme, la longueur de fraction est complétée à l’aide de zéros jusqu’au nombre de « S » contigus. 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. Dans le cas contraire, le signe est généré si la largeur du bloc est dépassée lorsque « G » n’est pas présent. Au-delà de six lettres, l’opération échoue.
Mois : il suit la règle Nombre/texte. La forme du texte dépend des lettres.
'M'
indique la forme « standard »,'L'
la forme « autonome ». Ces deux formes ne diffèrent que dans certaines langues. En russe par exemple, « Июль » est la forme autonome de juillet, et « Июля » 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. Avec une lettre, seule l’heure est générée (par exemple « +01 »), sauf si la minute est différente de zéro, auquel cas la minute est également indiquée (par exemple « +0130 »). S’il y a deux lettres, l’heure et la minute sont affichées, sans le signe deux-points (par exemple « +0130 »). Trois lettres donnent l’heure et la minute, avec un signe deux-points (par exemple « +01:30 »). Avec quatre lettres sont représentées l’heure, la minute et la seconde facultative, sans le signe deux-points (par exemple « +013015 »). En présence de cinq lettres , l’heure, la minute et la seconde facultative apparaissent, avec le 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 la sortie « Z » lorsque le décalage à afficher est égal à zéro, alors que la lettre de modèle « x » (minuscule) génère « +00 », « +0000 » ou « +00:00 ».
Décalage O : met en forme le décalage localisé en fonction du nombre de lettres de modèle. Une lettre génère la forme abrégée du décalage localisé, à savoir le texte de décalage localisé (par exemple « GMT »), avec l’heure sans zéro de début, la minute à deux chiffres facultative, la seconde si elle est différente de zéro et le signe deux-points (par exemple « GMT+8 »). Quatre lettres donnent la forme complète, à savoir le texte de décalage localisé (par exemple « GMT »), avec le champ heure et minute à deux chiffres, le deuxième champ facultatif s’il est différent de zéro et le signe 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èrent l’heure et la minute, sans le signe 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. « Z » s’affiche 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 « E », « F », « q » et « Q » ne peuvent être utilisés que pour la mise en forme DateHeure (
date_format
). Ils ne sont pas autorisés dans l’analyse DateHeure (to_timestamp
).