В этом учебном пособии вы узнаете, как использовать MySQL функцию STR_TO_DATE с синтаксисом и примерами.
Описание
MySQL функция STR_TO_DATE преобразует строку в дату, определенного формата.
Синтаксис
Синтаксис MySQL функции STR_TO_DATE:
STR_TO_DATE( string, format_mask )
Параметры или аргументы
string - строковое значение, которое нужно форматировать как дату.
format_mask - формат, применяемый к строке. Ниже приведен список параметров для параметра format_mask. Эти параметры могут использоваться во многих комбинациях.
Значение | Описание |
---|---|
%a | Сокращенное название дня недели (Sun до Sat) |
%b | Сокращенное название месяца (Jan до Dec) |
%c | Числовое значение месяца (0 до 12) |
%D | День месяца в виде числового значения, за которым следует суффикс (1st, 2nd, 3rd, ...) |
%d | День месяца в виде числового значения (от 01 до 31) |
%e | День месяца в виде числового значения (от 0 до 31) |
%f | Микросекунды (от 000000 до 999999) %f доступны начиная с MySQL 4.1.1 |
%H | Час (от 00 до 23) |
%h | Час (от 00 до 12) |
%I | Час (от 00 до 12) |
%i | Минуты (от 00 до 59) |
%j | День года (001 - 366) |
%k | Час (от 00 до 23) |
%l | Час (от 1 до 12) |
%M | Название месяца полностью (January до December) |
%m | Название месяца в виде числового значения (от 00 до 12) |
%p | До или после полудня AM или PM |
%r | Время в 12-часовом формате AM или PM (hh:mm:ss AM/PM) |
%S | Секунды (от 00 до 59) |
%s | Секунды (от 00 до 59) |
%T | Время в 24-часовом формате (hh:mm:ss) |
%U | Неделя, где Sunday - первый день недели (от 00 до 53) |
%u | Неделя, где Monday - это первый день недели (от 00 до 53) |
%V | Неделя, где Sunday - первый день недели (от 01 до 53). Доступно начиная с версии MySQL 3.23.8 и используется с %X |
%v | Неделя, где Monday - первый день недели (от 01 до 53). Доступно начиная с версии MySQL 3.23.8 и используется с %X |
%W | Имя дня недели полностью (Sunday до Saturday) |
%w | День недели, где Sunday=0 and Saturday=6 |
%X | Год недели, где Sunday - первый день недели. Доступно начиная с версии MySQL 3.23.8 и используется с% V |
%x | Год недели, где Monday - первый день недели. Доступно начиная с MySQL 3.23.8 и используется с %v |
%Y | Год в виде числового значения из 4 цифр |
%y | Год в виде числового значения из 2 цифр |
Примечание
- Функция STR_TO_DATE будет возвращать значение datetime, если строка содержит действительные части даты и времени.
- Функция STR_TO_DATE возвращает значение даты, если строка содержит только действительные части даты.
- Функция STR_TO_DATE возвращает значение времени, если строка содержит только действительные части времени.
- Функция STR_TO_DATE вернет значение NULL, если она не сможет извлечь действительные части даты и времени, используя format_mask.
Применение
Функция STR_TO_DATE может использоваться в следующих версиях MySQL:
- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
Пример
Рассмотрим примеры MySQL функции STR_TO_DATE, чтобы понять, как использовать функцию STR_TO_DATE в MySQL.
Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
mysql> SELECT STR_TO_DATE('February 13 2015', '%M %d %Y'); #Результат: 2015-02-13 mysql> SELECT STR_TO_DATE('March,14,2015', '%M,%e,%Y'); #Результат: 2015-03-14 mysql> SELECT STR_TO_DATE('Friday, February 13, 2015', '%W, %M %e, %Y'); #Результат: 2015-02-13 mysql> SELECT STR_TO_DATE('2014,2,28 09', '%Y,%m,%d %h'); #Результат: 2014-02-28 09:00:00 mysql> SELECT STR_TO_DATE('2014,2,28 09,30,05', '%Y,%m,%d %h,%i,%s'); #Результат: 2014-02-28 09:30:05 mysql> SELECT STR_TO_DATE('10,15,30', '%h,%i,%s'); #Результат: 10:15:30 |