Главная страница

практическая работа. Практическая работа - для слияния. Практическая работа 1 sql создание базы данных и таблиц Цель


Скачать 3.41 Mb.
НазваниеПрактическая работа 1 sql создание базы данных и таблиц Цель
Анкорпрактическая работа
Дата14.02.2023
Размер3.41 Mb.
Формат файлаdocx
Имя файлаПрактическая работа - для слияния.docx
ТипПрактическая работа
#936408
страница14 из 18
1   ...   10   11   12   13   14   15   16   17   18

MYSQL функции форматирования даты и времени


Цель: научиться работать с функцией форматирования даты и времени

Эти функции также предназначены для работы с календарными типами данных. Рассмотрим их подробнее.

  • DATE_FORMAT(date, format) форматирует дату date в соответствии с выбранным форматом formate. Эта функция очень часто используется. Например, в MySQL дата имеет формат представления YYYY-MM-DD (год-месяц-число), а нам привычнее формат DD-MM-YYYY (число-месяц-год). Поэтому для привычного нам отображения даты ее необходимо переформатировать. Давайте сначала приведем запрос, а затем разберемся, как задавать формат:



  • SELECT DATE_FORMAT(CURDATE(), '%d.%m.%Y');



Теперь дата выглядит для нас привычно. Для задания формата даты используются специальные определители. Для удобства перечислим их в таблице.

Опред

Описание

%a

Сокращенное наименование дня недели (Mon - понедельник, Tue - вторник, Wed - среда, Thu - четверг, Fri - пятница, Sat - суббота, Sun - воскресенье).

Пример:

SELECT DATE_FORMAT(CURDATE(), '%a');

Результат:



%b

Сокращенное наименование месяцев (Jan - январь, Feb - февраль, Mar - март, Apr - апрель, May - май, Jun - июнь, Jul - июль, Aug - август, Sep - сентябрь, Oct - октябрь, Nov - ноябрь, Dec - декабрь).

Пример:

SELECT DATE_FORMAT(CURDATE(), '%b');

Результат:



%c

Месяц в числовой форме (1 - 12).

Пример:

SELECT DATE_FORMAT(CURDATE(), '%с');

Результат:



%d

День месяца в числовой форме с нулем (01 - 31).

Пример:

SELECT DATE_FORMAT(CURDATE(), '%d');

Результат:



%D

День месяца в английском варианте (1st, 2nd...).

Пример:

SELECT DATE_FORMAT(CURDATE(), '%D');

Результат:



%e

День месяца в числовой форме без нуля (1 - 31).

Пример:

SELECT DATE_FORMAT(CURDATE(), '%e');

Результат:



%H

Часы с ведущим нулем от 00 до 23.

Пример:

SELECT DATE_FORMAT('2011-04-15 23:03:20', '%H');

Результат:



%h

Часы с ведущим нулем от 00 до 12.

Пример:

SELECT DATE_FORMAT('2011-04-15 23:03:20', '%h');

Результат:



%i

Минуты от 00 до 59.

Пример:

SELECT DATE_FORMAT('2011-04-15 23:03:20', '%i');

Результат:



%j

День года от 001 до 366.

Пример:

SELECT DATE_FORMAT('2011-04-15 23:03:20', '%j');

Результат:



%k

Часы c ведущим нулем от 0 до 23.

Пример:

SELECT DATE_FORMAT('2011-12-31 01:03:20', '%k');

Результат:



%l

Часы без ведущим нуля от 1 до 12.

Пример:

SELECT DATE_FORMAT('2011-04-15 00:03:20', '%l');

Результат:



%M

Название месяца без сокращения.

Пример:

SELECT DATE_FORMAT('2011-04-15 00:03:20', '%M');

Результат:



%M

Название месяца без сокращения.

Пример:

SELECT DATE_FORMAT('2011-04-15 00:03:20', '%M');

Результат:



%m

Месяц в числовой форме с ведущим нулем (01 - 12).

Пример:

SELECT DATE_FORMAT('2011-04-15 00:03:20', '%m');

Результат:



%p

АМ или РМ для 12-часового формата.

Пример:

SELECT DATE_FORMAT('2011-04-15 00:03:20', '%p');

Результат:



%r

Время в 12-часовом формате.

Пример:

SELECT DATE_FORMAT('2011-04-15 00:03:20', '%r');

Результат:



%s

Секунды от 00 до 59.

Пример:

SELECT DATE_FORMAT('2011-04-15 00:03:20', '%s');

Результат:



%T

Время в 24-часовом формате.

Пример:

SELECT DATE_FORMAT('2011-04-15 21:03:20', '%T');

Результат:



%u

Неделя (00 - 52), где первым днем недели считается понедельник.

Пример:

SELECT DATE_FORMAT('2011-04-17 21:03:20', '%u');

Результат:



%U

Неделя (00 - 52), где первым днем недели считается воскресенье.

Пример:

SELECT DATE_FORMAT('2011-04-17 21:03:20', '%U');

Результат:



%W

Название дня недели без сокращения.

Пример:

SELECT DATE_FORMAT('2011-04-17 21:03:20', '%W');

Результат:



%w

Номер дня недели (0 - воскресенье, 6 - суббота).

Пример:

SELECT DATE_FORMAT('2011-04-17 21:03:20', '%w');

Результат:



%Y

Год, 4 разряда.

Пример:

SELECT DATE_FORMAT('2011-04-17 21:03:20', '%Y');

Результат:



%y

Год, 2 разряда.

Пример:

SELECT DATE_FORMAT('2011-04-17 21:03:20', '%y');

Результат:





  • STR_TO_DATE(date, format) функция обратная предыдущей, она принимает дату date в формате format, а возвращает дату в формате MySQL.



  • SELECT STR_TO_DATE('17.04.2011 23:50', '%d.%m.%Y %H:%i');



 Как видите, сама функция GET_FORMAT() возвращает формат представления, а вместе с функцией DATE_FORMAT() выдает дату в нужном формате. Сделайте сами запросы со всеми пятью стандартами и посмотрите на разницу.


  • TIME_FORMAT(time, format) функция аналогична функции DATE_FORMAT(), но используется только для времени:



  • SELECT TIME_FORMAT('22:38:15', '%H-%i-%s');





  • GET_FORMAT(date, format) функция возвращает строку форматирования, соответствующую одному из пяти форматов времени: 

    EUR - европейский стандарт
    USA - американский стандарт
    JIS - японский индустриальный стандарт
    ISO - стандарт ISO (международная организация стандартов)
    INTERNAL - интернациональный стандарт

    Эту функцию хорошо использовать совместно с предыдущей - DATE_FORMAT(). Посмотрим на примере:



  • SELECT GET_FORMAT(DATE, 'EUR'), DATE_FORMAT('2011-04-17', GET_FORMAT(DATE, 'EUR'));



 Как видите, сама функция GET_FORMAT() возвращает формат представления, а вместе с функцией DATE_FORMAT() выдает дату в нужном формате. Сделайте сами запросы со всеми пятью стандартами и посмотрите на разницу.
Ну вот, теперь вы знаете о работе с датами и временем в MySQL практически все. Это вам очень пригодится при разработке различных web-приложений. Например, если пользователь в форму на сайте вводит дату в привычном ему формате, вам не составит труда применить нужную функцию, чтобы в БД дата попала в нужном формате. 

Практическая работа № 15
1   ...   10   11   12   13   14   15   16   17   18


написать администратору сайта