Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: Databricks SQL
Databricks Runtime
Существует несколько распространенных сценариев использования datetime в Azure Databricks:
- Источники данных CSV и JSON используют строку шаблона для синтаксического анализа и форматирования содержимого даты и времени.
- Функции даты и времени, связанные с преобразованием
STRING
вDATE
илиTIMESTAMP
и наоборот. Например:
Таблица шаблона
Azure Databricks использует шаблоны букв в следующей таблице для синтаксического анализа и форматирования меток даты и времени:
Символ | Значение | Презентация | Примеры |
---|---|---|---|
G | эра | текст | н.э., нашей эры |
y | год | год | 2020; 20 |
D | день года | число(3) | 189 |
M/L | месяц года | Месяц | 7; 07; июл; июль |
д | день месяца | число(3) | 28 |
Q/q | квартал года | число/текст | 3; 03; 3 кв.; III квартал |
E | день недели | текст | Вт; вторник |
Ф | выровненный день недели в месяце | число(1) | 3 |
а | утренние и дневные/вечерние часы | утро-вечер | премьер-министр |
ч | час в 12-часовом формате (1–12) | число(2) | 12 |
K | час в формате AM/PM (0–11) | число(2) | 0 |
k | час в 24-часовом формате (1–24) | число(2) | 0 |
H | час суток (0–23) | число(2) | 0 |
m | минута в часе | число(2) | 30 |
s | секунда минуты | число(2) | 55 |
S | доли секунды | дробь | 978 |
V | идентификатор часового пояса | идентификатор часового пояса | США/Лос-Анджелес; Z; –08:30 |
z | название часового пояса | название зоны | тихоокеанское стандартное время; PST |
О | локализованное смещение часового пояса | смещение O | GMT+8; GMT+08:00; UTC–08:00; |
X | смещение зоны "Z" для нуля | смещение X | Z; –08; –0830; –08:30; –083015; –08:30:15; |
x | смещение часового пояса | смещение по оси x | +0000; –08; –0830; –08:30; –083015; –08:30:15; |
Z | смещение часового пояса | смещение Z | +0000; –0800; –08:00; |
' | escape-символ для ввода текста | разделитель | |
'' | одинарная кавычка | буквальный | ' |
[ | начало необязательного раздела | ||
] | конец необязательного раздела |
Число символов шаблона определяет формат.
Текст: стиль текста определяется на основе числа используемых символов шаблона. Для шаблона менее чем из 4 символов будет использоваться краткая текстовая форма, обычно сокращение. Например, понедельник (день недели) может быть сокращён до "пн". Будут использоваться ровно 4 символа шаблона для полного текстового написания, как правило, полного описания. Например, день недели "понедельник" может быть выведен как "понедельник". При использовании 5 или более букв произойдет сбой.
Число (n): здесь n обозначает максимальное число символов, которое можно использовать для этого типа шаблона даты и времени. Если число символов равно единице, то значение выводится с использованием минимального числа разрядов и без заполнения. В противном случае количество разрядов используется в качестве ширины поля вывода, при необходимости значение дополняется нулями.
Число/текст: если число символов шаблона равно 3 или больше, используйте правила для текста, приведенные выше. В противном случае используйте правила для чисел, приведенные выше.
Дробь: используйте один или несколько (до 9) символов
'S'
подряд (например,SSSSSS
) для парсинга и форматирования доли секунды. Для синтаксического анализа допустимая длина дроби может быть [1, число смежных 'S']. Для форматирования длина дроби будет заполнена до количества смежных "S" с нулями. Azure Databricks поддерживает дату и время с точностью микросекунд, которая имеет до 6 значимых цифр, но может анализировать наносекунды с усечением избыточной части.Год: количество символов определяет минимальную ширину поля, до которой значения дополнительно заполняются. Если число символов равно двум, используется краткая двузначная форма. Для вывода на печать используются две крайние правые цифры. Для синтаксического анализа будет использоваться базовое значение 2000, т. е. год будет определяться в диапазоне от 2000 до 2099 включительно. Если число символов меньше четырех (но не двух), то знак будет использоваться только для указания года в отрицательном диапазоне. В противном случае знак выводится, если ширина панели превышается, если "G" отсутствует. Если будет 7 или более букв, произойдет сбой.
Месяц: соответствует правилу "число/текст". Текстовая форма зависит от букв —
'M'
обозначает "стандартную" форму и'L'
предназначен для автономной формы. Эти две формы отличаются только в некоторых языках. Например, на русском языке "Июль" является автономной формой июля, и "Июля" является стандартной формой. Ниже приведены примеры всех поддерживаемых символов шаблона:'M'
или'L'
: номер месяца в году начиная с 1. Между'M'
и'L'
нет различий. Месяцы с 1 по 9 выводятся без заполнения.> SELECT date_format(date '1970-01-01', 'M'); 1 > SELECT date_format(date '1970-12-01', 'L'); 12
'MM'
или'LL'
: номер месяца в году начиная с 1. Для месяцев с 1 по 9 добавляется заполнение нулями.> SELECT date_format(date '1970-1-01', 'LL'); 01 > SELECT date_format(date '1970-09-01', 'MM'); 09
'MMM'
: краткое текстовое представление в стандартной форме. Месяц должен быть частью шаблона даты, а не выступать как самостоятельная единица, кроме случаев в языках, где нет различий между частью шаблона и самостоятельной формой, как в английском.> 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'
: полное текстовое представление месяца в стандартной форме. Оно используется для синтаксического анализа или форматирования месяцев в составе дат или меток времени.> 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 января
Выводится время дня в формате "AM-PM" (до полудня - после полудня). Число символов в шаблоне должно быть равно 1.
Идентификатор часового пояса (V): выводит отображение идентификатора часового пояса. Число символов в шаблоне должно быть равно 2.
Имена часовых поясов (z): это выводит отображаемое текстовое имя идентификатора часового пояса. Если число символов равно единице, двум или трем, выводится короткое имя. Если число символов равно четырем, выводится полное имя. Пять или более букв вызовут ошибку.
Смещение X и x: это форматирует смещение в зависимости от количества букв в шаблоне. Одна буква выводит только час, например "+01", если минута не равно нулю, в этом случае минута также выводится, например "+0130". Две буквы выводят часы и минуты без двоеточия, например "+0130". Три буквы выводит час и минуту с двоеточием, например "+01:30". Четыре символа выводят час, минуту и, при наличии, секунды без двоеточия, например "+013015". Формат из пяти букв выводит час, минуту и необязательную секунду с двоеточием, например, "+01:30:15". Шесть или более букв приведут к ошибке. Буква шаблона "X" (заглавная) выводит "Z", когда смещение будет равно нулю, а шаблон "x" (строчная) будет выводить "+00", "+0000" или "+00:00".
Смещение O: форматирует локальное смещение в зависимости от количества символов в шаблоне. Одна буква обозначает краткую форму локализованного смещения, которая представляет собой локализованный текст смещения, например, 'GMT', с часом без начального нуля, необязательными 2-значными минутами и секундами, если они ненулевые, и двоеточием, например, 'GMT+8'. Четыре буквы выводят полную форму, представляющую локализованный текст смещения, например "GMT", с двухзначными часами и минутами, необязательным вторым полем при ненулевом значении и двоеточием, например "GMT+08:00". Если количество букв будет другим, произойдет ошибка.
Смещение Z: Форматирование смещения в зависимости от числа букв в шаблоне. Одна, две или три буквы выводит час и минуту без двоеточия, например "+0130". Выход равен '+0000', если смещение равно нулю. Четыре символа выводят полную форму локального смещения, что эквивалентно четырем символам смещения O. Если смещение равно нулю, выводится соответствующий локализованный текст смещения. Если это значение не равно нулю, пять символов выводят часы и минуты с указанием секунд (необязательно) с двоеточием. Он выводит "Z", если смещение равно нулю. Шесть или более букв приведут к ошибке.
Начало и конец дополнительного раздела: чтобы указать дополнительный или (при необходимости) вложенный раздел, используйте
[]
. Во время форматирования выводятся все допустимые данные, даже в дополнительном разделе. Во время синтаксического анализа в проанализированной строке может отсутствовать весь раздел. Дополнительный раздел начинается с[
и завершается]
(или в конце шаблона).Символы 'E', 'F', 'q' и 'Q' могут использоваться только для форматирования даты и времени, например,
date_format
. Их нельзя использовать для синтаксического анализа даты и времени, напримерto_timestamp
.