Как записать дату в sql запросе
Перейти к содержимому

Как записать дату в sql запросе

  • автор:

Как записать дату в запросе SQL: простые и понятные инструкции

Замените ‘YYYY-MM-DD’ на нужную вам дату в формате ГГГГ-ММ-ДД. Например, чтобы записать текущую дату в таблицу «orders» в колонку «order_date», вы можете использовать следующий запрос:

INSERT INTO orders (order_date) VALUES (CURRENT_DATE);

Это запишет текущую дату в формате ГГГГ-ММ-ДД.

Детальный ответ

Как записать дату в запросе SQL

Запросы SQL являются неотъемлемой частью разработки баз данных. Иногда в запросах требуется работать с датами. Это может быть запись даты в таблицу, поиск данных за определенный период или сортировка данных по дате. В данной статье мы рассмотрим, как записать дату в запросе SQL с примерами кода.

Запись даты в столбец

Если у вас есть столбец с типом данных «дата» в таблице, вы можете использовать оператор INSERT для записи даты в этот столбец. Пример кода:

INSERT INTO table_name (date_column) VALUES ('2022-02-15');

В данном примере мы записываем дату ‘2022-02-15’ в столбец date_column таблицы table_name. Вы также можете использовать функцию NOW() для записи текущей даты и времени:

INSERT INTO table_name (date_column) VALUES (NOW());

В этом случае будет записана текущая дата и время.

Поиск данных по дате

Для поиска данных за определенный период вы можете использовать оператор SELECT с условием, используя операторы сравнения.

SELECT * FROM table_name WHERE date_column BETWEEN '2022-01-01' AND '2022-02-28';

В данном примере мы выбираем все строки из таблицы table_name, где значение столбца date_column находится в диапазоне с 1 января 2022 года по 28 февраля 2022 года.

Сортировка данных по дате

Для сортировки данных по дате вы можете использовать оператор ORDER BY с именем столбца даты.

SELECT * FROM table_name ORDER BY date_column DESC;

В данном примере мы выбираем все строки из таблицы table_name и сортируем их по убыванию значения столбца date_column. Если вы хотите отсортировать данные по возрастанию, замените DESC на ASC .

Форматирование даты

Если вы хотите отображать даты в определенном формате, вы можете использовать функцию DATE_FORMAT . Пример:

SELECT column_name, DATE_FORMAT(date_column, '%d.%m.%Y') AS formatted_date FROM table_name;

В данном примере мы выбираем столбец column_name и форматируем значение столбца date_column в дату в формате «день.месяц.год». Полученное значение будет доступно как formatted_date.

Вывод

Запись даты в запросе SQL может понадобиться для различных операций, таких как добавление данных, поиск или сортировка. В данной статье мы рассмотрели основные способы записи даты в SQL-запросах, а также некоторые дополнительные возможности, такие как форматирование даты. Надеюсь, эта информация поможет вам легче работать с датами в ваших SQL-запросах.

Как записать дату в SQL запросе: руководство для начинающих

Для того чтобы писать дату в SQL-запросе, вы можете использовать ключевое слово DATE и указывать дату в формате ‘YYYY-MM-DD’. Например, если вы хотите выбрать все строки, где дата равна 2021-10-20, вы можете использовать следующий код:

SELECT * FROM table_name WHERE date_column = DATE '2021-10-20';

Если вы хотите выбрать все строки, где дата больше или равна 2021-10-20, вы можете использовать оператор >=:

SELECT * FROM table_name WHERE date_column >= DATE '2021-10-20';

Аналогично, если вы хотите выбрать все строки, где дата меньше или равна 2021-10-20, вы можете использовать оператор

Детальный ответ

Как писать дату в SQL запросе

SQL (Structured Query Language) является языком программирования, который используется для работы с реляционными базами данных. Когда мы работаем с базами данных, часто возникает необходимость работать с датами. В SQL запросах, правильное представление даты может быть важным для успешного выполнения операций.

Форматы даты в SQL

В SQL существует несколько форматов для представления дат. Один из самых распространенных форматов — это стандартный формат ISO 8601, который выглядит следующим образом: год-месяц-день час:минута:секунда . Пример: 2022-03-15 10:30:00 . Другой распространенный формат даты — это формат, использующий числовые значения для года, месяца и дня. Например: день.месяц.год . Пример: 15.03.2022 .

Работа с датами в запросах

Когда мы хотим использовать дату в SQL запросе, мы должны убедиться, что дата правильно представлена в соответствующем формате. В противном случае, запрос может не дать ожидаемого результата или вызвать ошибку. В примере ниже, мы хотим выбрать все записи из таблицы «orders», которые были размещены после определенной даты:

SELECT * FROM orders WHERE order_date > '2022-01-01';

В этом примере, мы используем оператор WHERE для фильтрации записей. Мы сравниваем значение в столбце «order_date» с указанной датой. Здесь мы представляем дату в стандартном формате ISO 8601.

Функции для работы с датами

SQL предлагает множество функций, которые помогают в работе с датами. Например, функция NOW() возвращает текущую дату и время.

SELECT NOW();

Можно использовать функцию DATE() , чтобы получить только дату из даты и времени:

SELECT DATE(datetime_column) AS date_only FROM table_name;

В этом примере, мы используем функцию DATE() для выбора только даты из столбца «datetime_column» в таблице «table_name».

Форматирование даты

Иногда мы хотим отформатировать дату по определенным требованиям. В SQL мы можем использовать функцию DATE_FORMAT() для форматирования даты в нужном нам виде.

SELECT DATE_FORMAT(datetime_column, '%d-%m-%Y') AS formatted_date FROM table_name;

В этом примере, мы используем функцию DATE_FORMAT() для форматирования даты в столбце «datetime_column» в таблице «table_name» в виде «день-месяц-год».

Вывод

В этой статье мы рассмотрели различные аспекты работы с датами в SQL запросах. Мы ознакомились с форматами даты, работой с датами в запросах, функциями для работы с датами и форматированием даты. Правильное представление даты в SQL запросе критически важно для успешной работы с базой данных. Вы должны учитывать формат даты и использовать соответствующие операторы и функции для работа с датами в SQL.

Как записать дату в SQL запросе: полезные советы и примеры

Чтобы записать дату в SQL запросе, вы можете использовать ключевое слово DATE и указать дату в формате ‘YYYY-MM-DD’. Например:

 SELECT * FROM table_name WHERE date_column = DATE '2022-10-31'; 

Если вы хотите также указать время, вы можете использовать ключевое слово TIMESTAMP и указать дату и время в формате ‘YYYY-MM-DD HH:MI:SS’. Например:

 SELECT * FROM table_name WHERE datetime_column = TIMESTAMP '2022-10-31 10:30:00'; 

Детальный ответ

Как записать дату в SQL запросе

Запись даты в SQL запросе может быть не самой простой задачей, особенно для новичков в программировании. Однако, с правильным пониманием синтаксиса и использования соответствующих функций, вы сможете легко вставлять, обновлять и выбирать данные, связанные с датами в базе данных.

Вставка даты

Для вставки даты в SQL запросе, вы можете использовать функцию DATE . Формат даты должен быть в виде ‘YYYY-MM-DD’, где YYYY представляет год, MM — месяц, а DD — день.

 INSERT INTO table_name (date_column) VALUES (DATE 'YYYY-MM-DD'); 

Например, если вы хотите вставить текущую дату в столбец «date_column», вы можете использовать следующий SQL запрос:

 INSERT INTO table_name (date_column) VALUES (DATE '2022-01-01'); 

Обновление даты

Для обновления даты в SQL запросе, вы можете использовать функцию DATE вместе с оператором UPDATE . Оператор UPDATE обновляет значения в указанной таблице, а функция DATE преобразует строку в дату.

 UPDATE table_name SET date_column = DATE 'YYYY-MM-DD' WHERE condition; 

Например, если вы хотите обновить дату в столбце «date_column» для определенной строки, вы можете использовать следующий SQL запрос:

 UPDATE table_name SET date_column = DATE '2022-01-01' WHERE 

Выборка данных по дате

Для выборки данных на основе даты в SQL запросе, вы можете использовать операторы сравнения, такие как = , < , >, <= и >= . Например, если вы хотите выбрать все строки, где значение столбца «date_column» больше определенной даты, вы можете использовать следующий SQL запрос:

 SELECT * FROM table_name WHERE date_column > DATE '2022-01-01'; 

Также вы можете использовать функции даты и время, такие как NOW() для выборки текущей даты и времени:

 SELECT * FROM table_name WHERE date_column > NOW(); 

Форматирование даты

Если вам необходимо отформатировать дату при выборке данных, вы можете использовать функцию TO_CHAR вместе с шаблоном формата даты.

 SELECT TO_CHAR(date_column, 'DD-MM-YYYY') AS formatted_date FROM table_name; 

В данном примере, выбираются все строки из столбца «date_column», и дата форматируется в виде ‘DD-MM-YYYY’ и помещается в новый столбец с именем «formatted_date». Надеюсь, данная статья помогла вам понять, как записать дату в SQL запросе. Не забудьте проверить синтаксис и правильность формата даты для вашей конкретной базы данных.

Как записать дату в sql запросе

In this tutorial you will learn how to work with dates and times in SQL.

Date and Time Manipulation

Along with strings and numbers, you often need to store date and/or time values in a database, such as an user’s birth date, employee’s hiring date, date of the future events, the date and time a particular row is created or modified in a table, and so on.

This type of data is referred as temporal data and every database engine has a default storage format and data types for storing them. The following table shows the data types supported by the MySQL database server for handling the dates and times.

Type Default format Allowable values
DATE YYYY-MM-DD 1000-01-01 to 9999-12-31
TIME HH:MM:SS or HHH:MM:SS -838:59:59 to 838:59:59
DATETIME YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 to 9999-12-31 23:59:59
TIMESTAMP YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:00 to 2037-12-31 23:59:59
YEAR YYYY 1901 to 2155

DATE values have YYYY-MM-DD format, where YYYY represent the full year (4 digits), whereas the MM and DD represents the month and day parts of the date respectively (2 digits with leading zero). Likewise, the TIME values have normally HH:MM:SS format, where HH , MM , and SS represents the hours, minutes, and seconds parts of the time respectively.

The following statement demonstrates how to insert a date value in database table:

Example

Note: In MySQL the hours part of the TIME values may be larger, because MySQL treats them as elapsed time. That means the TIME data type can be used not only to represent a time of day (which must be less than 24 hours), but also a time interval between two events which may be greater than 24 hours, or even negative.

Tracking Row Creating or Modification Times

While working with the database of a large application you often need to store record creation time or last modification time in your database, for example, storing the date and time when a user sign up, or when a user last updated his password, etc.

In MySQL you can use the NOW() function to insert the current timestamp, as follow:

Example

However, if you don’t want to insert current date and time manually, you can simply use the auto-initialization and auto-update properties of the TIMESTAMP and DATETIME data types.

To assign automatic properties, specify the DEFAULT CURRENT_TIMESTAMP and ON UPDATE CURRENT_TIMESTAMP clauses in column definitions, as follow:

Example

Note: Automatic initialization and updating for DATETIME data type is only available in MySQL 5.6.5 or later. If you’re using an older version use the TIMESTAMP instead.

Extracting Parts of Dates or Times

There may be situations where you just want to obtain a part of date or time. In MySQL you can use the functions specifically designed for extracting part of a temporal value, such as YEAR() , MONTH() , DAYOFMONTH() , MONTHNAME() , DAYNAME() , HOUR() , MINUTE() , SECOND() , etc.

The following SQL statement will extract the year part of the birth_date column values, e.g. if the birth_date of any user is 1987-01-14 the YEAR(birth_date) will return 1987.

Similarly, you can use the function DAYOFMONTH() to get the day of the month, e.g. if the birth_date of any user is 1986-10-06 the DAYOFMONTH(birth_date) will return 6.

Formatting Dates or Times

If you want more descriptive and readable date format in your result set, you can use the DATE_FORMAT() and TIME_FORMAT() functions to reformat the existing date and time values.

The following SQL statement will format the values of birth_date column of the users table in more readable format, like the value 1987-01-14 to January 14, 1987.

A Complete Guide To MySQL DATETIME Data Type

Summary: in this tutorial, you will learn about MySQL DATETIME data type and how to use some handy functions for manipulating DATETIME effectively.

Introduction to MySQL DATETIME data type

You use MySQL DATETIME to store a value that contains both date and time. When you query data from a DATETIME column, MySQL displays the DATETIME value in the following format:

By default, DATETIME values range from 1000-01-01 00:00:00 to 9999-12-31 23:59:59 .

A DATETIME value uses 5 bytes for storage. In addition, a DATETIME value can include a trailing fractional second up to microseconds with the format YYYY-MM-DD HH:MM:SS[.fraction] e.g., 2015-12-20 10:01:00.999999 . When including the fractional second precision, DATETIME values require more storage as illustrated in the following table:

Fractional Seconds Precision Storage (Bytes)
0 0
1, 2 1
3, 4 2
5, 6 3

For example, 2015-12-20 10:01:00.999999 requires 8 bytes, 5 bytes for 2015-12-20 10:01:00 and 3 bytes for .999999 while 2015-12-20 10:01:00.9 requires only 6 bytes, 1 byte for the fractional second precision.

Note that before MySQL 5.6.4, DATETIME values requires 8 bytes storage instead of 5 bytes.

MySQL DATETIME vs. TIMESTAMP

MySQL provides another temporal data type that is similar to the DATETIME called TIMESTAMP .

The TIMESTAMP requires 4 bytes while DATETIME requires 5 bytes. Both TIMESTAMP and DATETIME require additional bytes for fractional seconds precision.

TIMESTAMP values range from 1970-01-01 00:00:01 UTC to 2038-01-19 03:14:07 UTC . If you want to store temporal values that are beyond 2038, you should use DATETIME instead of TIMESTAMP .

MySQL stores TIMESTAMP in UTC value. However, MySQL stores the DATETIME value as is without timezone. Let’s see the following example.

First, set the timezone of the current connection to +00:00 .

Next, create a table named timestamp_n_datetime that consists of two columns: ts and dt with TIMESTAMP and DATETIME types using the following statement.

Then, insert the current date and time into both ts and dt columns of the timestamp_n_datetime table,

After that, query data from the timestamp_n_datetime table.

MySQL DATETIME vs TIMESTAMP

Both values in DATETIME and TIMESTAMP columns are the same.

Finally, set the connection’s time zone to +03:00 and query data from the timestamp_n_datetime table again.

MySQL DATETIME vs TIMESTAMP timezone changes

As you can see, the value in the TIMESTAMP column is different. This is because the TIMESTAMP column stores the date and time value in UTC when we changed the time zone, the value of the TIMESTAMP column is adjusted according to the new time zone.

It means that if you use the TIMESTAMP data to store date and time values, you should take a serious consideration when you move your database to a server located in a different time zone.

MySQL DATETIME functions

The following statement sets the variable @dt to the current date and time using the NOW() function.

To query the value of the @dt variable, you use the following SELECT statement:

MySQL DATE function

To extract the date portion from a DATETIME value, you use the DATE function as follows:

This function is very useful in case you want to query data based on a date but the data stored in the column is based on both date and time.

Let’s see the following example.

Suppose you want to know which row created on 2015-11-05 , you use the following query:

It returns no rows.

This is because the created_at column contains not only date but also time. To correct it, you use the DATE function as follows:

MySQL DATETIME - DATE function

It returns one row as expected. In case the table has many rows, MySQL has to perform a full table scan to locate the rows that match the condition.

MySQL TIME function

To extract the time portion from a DATETIME value, you use the TIME function as the following statement:

MySQL YEAR, QUARTER, MONTH, WEEK, DAY, HOUR, MINUTE and SECOND functions

To get the year, quarter, month, week, day, hour, minute, and second from a DATETIME value, you use the functions as shown in the following statement:

MySQL DATETIME - datetime functions

MySQL DATE_FORMAT function

To format a DATETIME value, you use the DATE_FORMAT function. For example, the following statement formats a DATETIME value based on the %H:%i:%s — %W %M %Y format:

MySQL DATETIME - DATE_FORMAT function

MySQL DATE_ADD function

To add an interval to a DATETIME value, you use DATE_ADD function as follows:

MySQL DATETIME - DATE_ADD function

MySQL DATE_SUB function

To subtract an interval from a DATETIME value, you use DATE_SUB function as follows:

MySQL DATETIME - DATE_SUB function

MySQL DATE_DIFF function

To calculate a difference in days between two DATETIME values, you use the DATEDIFF function. Notice that the DATEDIFF function only considers the date part of a DATETIME value in the calculation.

See the following example.

First, create a table named datediff_test that has one column whose data type is DATETIME .

Second, insert some rows into the datediff_test table.

Third, use the DATEDIFF function to compare the current date and time with the value in each row of the datediff_test table.

MySQL DATETIME - DATEDIFF Example

In this tutorial, you have learned about MySQL DATETIME data type and some useful DATETIME functions.

Как записать дату в sql запросе

MySQL Date Data Type :

There are various data types that are supported in MySQL. Among them sometimes we need to take DATE data type to store data values. The DATE type is used for values with a date part but no time part. It displays DATE values in ‘YYYY-MM-DD’ format. We can store any date value which is in the given range ‘1000-01-01’ to ‘9999-12-31’.

Syntax :

The following examples will illustrate how we can use Date data type in a variable.

Example 1 :

Creating a StudentDetails table
It consists of Student_Id, First_name, Last_name, Date_Of_Birth, Class, Contact_Details columns. Among which the data type of Date_Of_Birth column is DATE.

Inserting data into the Table –

To verify using the following command as follows.

Output :

Student_Id First_name Last_name Date_Of_Birth Class Contact_Details
1 Amit Jana 2004-12-22 XI 1234567890
2 Manik Aggarwal 2006-07-04 IX 1245678998
3 Nitin Das 2005-03-14 X 2245664909
4 Priya Pal 2007-07-24 VIII 3245642199
5 Biswanath Sharma 2005-11-11 X 2456789761
6 Mani Punia 2006-01-20 IX 3245675421
7 Pritam Patel 2008-01-04 VII 3453415421
8 Sayak Sharma 2007-05-10 VIII 1214657890

So, we have successfully stored the DATE data-type in the Date_Of_Birth Column.

Example 2 :

Creating a ProductDetails table
It consists of ProductId, ProductName, and Manufactured_On columns, among which the data type for Manufactured_On columns is DATE.

Inserting data into the Table –
The CURRENTDATE function is used to assign value in the Manufactured_On column. The return data type for CURRENTDATE function is DATE.

To verify using the following command as follows.

Output :

PRODUCTID PRODUCTNAME MANUFACTURED_ON
11001 ASUS X554L 2020-12-08

Example 3 :

Creating an orders table
It consists of OrderNumber, OrderDate, ShippedDate, DeliveryDate columns. Among which the data type of OrderDate, ShippedDate, and DeliveryDate column is DATE.

SQL — Функции даты

От автора: сегодня мы поговорим о том, как работают в SQL функции даты. В следующей таблице приведен список всех важных функций, связанных с датой и временем, которые доступны. Существуют и другие, поддерживаемые различными СУБД. Данный список представляет функции, доступные в СУБД MySQL.

ADDDATE(). Добавляет даты

ADDTIME(). Добавляет время

CONVERT_TZ(). Преобразует из одного часового пояса в другой

CURDATE(). Возвращает текущую дату

CURRENT_DATE(), CURRENT_DATE. Синонимы для CURDATE()

CURRENT_TIME(), CURRENT_TIME. Синонимы для CURTIME()

CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP. Синонимы для NOW()

CURTIME(). Возвращает текущее время

DATE_ADD(). Слагает две даты

DATE_FORMAT(). Задает указанный формат даты

DATE_SUB(). Вычитает одну дату из другой

DATE(). Извлекает часть, относящуюся к дате, из выражения представляющего дату или время и дату

DATEDIFF(). Вычитает одну дату из другой

DAY(). Синоним для DAYOFMONTH()

DAYNAME(). Возвращает день недели

DAYOFMONTH(). Возвращает день месяца (1-31)

DAYOFWEEK(). Возвращает индекс дня недели аргумента

DAYOFYEAR(). Возвращает номер дня в году (1-366)

EXTRACT. Извлекает часть, относящуюся к дате

FROM_DAYS(). Преобразует номер дня в дату

FROM_UNIXTIME(). Форматирует дату как временную метку UNIX

HOUR(). Извлекает час

LAST_DAY. Возвращает последний день месяца для аргумента

LOCALTIME(), LOCALTIME. Синоним для NOW()

LOCALTIMESTAMP, LOCALTIMESTAMP (). Синоним для NOW()

MAKEDATE(). Создает дату из года и дня года

MAKETIME. MAKETIME(). MICROSECOND(). Возвращает микросекунды из аргумента

MINUTE(). Возвращает минуты из аргумента

MONTH(). Возврат месяца из даты

MONTHNAME(). Возвращает название месяца

NOW(). Возвращает текущую дату и время

PERIOD_ADD(). Добавляет период к году-месяцу

PERIOD_DIFF(). Возвращает количество месяцев между периодами

QUARTER(). Возвращает квартал из аргумента

SEC_TO_TIME(). Преобразует секунды в формат «HH: MM: SS»

SECOND(). Возвращает секунды (0-59)

STR_TO_DATE(). Преобразует строку в дату

SUBDATE(). При вызове с тремя аргументами синоним DATE_SUB()

SUBTIME(). Вычитает время

SYSDATE(). Возвращает время выполнения функции

TIME_FORMAT(). Задает формат времени

TIME_TO_SEC(). Возвращает аргумент, преобразованный в секунды

TIME(). Извлекает часть, относящуюся ко времени, из переданного выражения

TimeDiff(). Вычитает время

TIMESTAMP(). С одним аргументом эта функция возвращает выражение даты или даты и времени. С двумя аргументами — слагает эти два аргумента

TIMESTAMPADD(). Добавляет интервал к выражению даты и времени

TIMESTAMPDIFF(). Вычитает интервал из выражения даты и времени

TO_DAYS(). Возвращает аргумент даты, преобразованный в дни

UNIX_TIMESTAMP(). Возвращает временную метку UNIX

UTC_DATE(). Возвращает текущую дату UTC

UTC_TIME(). Возвращает текущее время UTC

UTC_TIMESTAMP(). Возвращает текущую дату и время UTC

WEEK(). Возвращает номер недели

WEEKDAY(). Возвращает индекс дня недели

WEEKOFYEAR(). Возвращает календарный номер недели (1-53)

YEAR(). Возвращает год

YEARWEEK(). Возвращает год и неделю

ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)

При вызове со вторым аргументом, заданным в виде INTERVAL, функция ADDDATE() является синонимом DATE_ADD(). Связанная функция SUBDATE() является синонимом DATE_SUB(). Информацию об аргументе блока INTERVAL см. в разделе DATE_ADD().

SQL — Функции даты

При вызове со вторым аргументом, заданным в днях, MySQL рассматривает это как целое число дней для добавления в выражение.

SQL — Функции даты

ADDTIME(expr1,expr2)

ADDTIME () добавляет expr2 к expr1 и возвращает результат. Expr1 является выражением времени или даты и времени, в то время как expr2 является выражением времени.

SQL — Функции даты

CONVERT_TZ(dt,from_tz,to_tz)

Преобразует значение даты и времени dt из часового пояса, заданного в from_tz, в часовой пояс, заданный в to_tz, и возвращает полученное значение. Эта функция возвращает NULL, если аргументы недействительны.

SQL — Функции даты

CURDATE()

Возвращает текущую дату как значение в формате «YYYY-MM-DD» или YYYYMMDD, в зависимости от того, используется ли эта функция в строковом или в числовом контексте.

SQL — Функции даты

CURRENT_DATE и CURRENT_DATE()

CURRENT_DATE и CURRENT_DATE() являются синонимами для CURDATE()

CURTIME()

Возвращает текущее время как значение в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или в числовом контексте. Значение выражается для текущего часового пояса.

SQL — Функции даты

CURRENT_TIME и CURRENT_TIME()

CURRENT_TIME и CURRENT_TIME() являются синонимами для CURTIME().

CURRENT_TIMESTAMP и CURRENT_TIMESTAMP()

CURRENT_TIMESTAMP и CURRENT_TIMESTAMP() являются синонимами для NOW().

DATE(expr)

Извлекает часть, относящуюся к дате, из выражения даты или даты и времени expr.

SQL — Функции даты

DATEDIFF(expr1,expr2)

DATEDIFF() возвращает expr1.expr2, выраженное как количество дней между двумя датами. И expr1, и expr2 являются выражениями даты или даты и времени. В расчетах используются только части относящиеся к дате.

SQL — Функции даты

DATE_ADD(date,INTERVAL expr unit), DATE_SUB(date,INTERVAL expr unit)

Эти функции выполняют арифметические операции с датами. date представлено как значение DATETIME или DATE, указывающее начальную дату. expr представляет собой выражение, определяющее значение интервала, который нужно добавить или вычесть из исходной даты. expr — это строка; она может начинаться с «-» для отрицательных интервалов.

unit является ключевым словом, указывающим единицы измерения для выражения. Ключевое слово INTERVAL и обозначение единиц не чувствительны к регистру. В следующей таблице показана ожидаемая форма аргумента expr для каждого значения единицы измерения.

SQL — Функции даты

Значения QUARTER и WEEK доступны в MySQL начиная с версии 5.0.0.

SQL — Функции даты

DATE_FORMAT (date,format)

Эта команда задает формат значения date в соответствии с указанной строкой format. В строке format могут использоваться следующие указатели. Перед указателями формата необходимо добавлять символ ‘%’.

%a. Сокращенное название дня недели (Sun..Sat)

%b. Сокращенное название месяца (Jan..Dec)

%с. Числовое обозначение месяца (0…12)

%D. День месяца с английским суффиксом (0, 1, 2, 3,.)

%d. Числовое обозначение дня месяца (00..31)

%е. Числовое обозначение дня месяца (00..31)

%f. Микросекунды (000000..999999)

%i. Числовое обозначение минут (00..59)

%J. День года (001..366)

%M. Название месяца (January..December)

%м. Числовое обозначение месяца (00..12)

%r. Время, 12-часовой формат (чч: мм: сс, за которым следуют AM или PM)

%Т. Время, 24-часовой формат (чч: мм: сс)

%U. Неделя (00..53), где воскресенье — первый день недели

%u. Неделя (00..53), где понедельник — первый день недели

%V. Неделя (01..53), где воскресенье — первый день недели; используется вместе с %X

%v. Неделя (01..53), где понедельник — первый день недели; используется вместе с %x

%W. Название дня недели (Sunday..Saturday)

%w. День недели (0=Sunday..6=Saturday)

%X. Год для недели, где первый день недели — воскресенье, число из четырех цифр; используется вместе с %V

%x. Год для недели, где первый день недели — понедельник, число из четырех цифр; используется вместе с %V

%Y. Год, число, четыре цифры

%y. Числовое обозначение года (две цифры)

%x. x, для всех .x., не перечисленных выше

SQL — Функции даты

DATE_SUB(date,INTERVAL expr unit)

Аналогично функции DATE_ADD ().

DAY(date)

DAY() является синонимом функции DAYOFMONTH().

DAYNAME(date)

Возвращает день недели для указанной даты.

SQL — Функции даты

DAYOFMONTH(date)

Возвращает день месяца для указанной даты в диапазоне от 0 до 31.

SQL — Функции даты

DAYOFWEEK(date)

Возвращает индекс дня недели (1 = Sunday, 2 = Monday, ., 7 = Saturday). Эти значения индекса соответствуют стандарту ODBC.

SQL — Функции даты

DAYOFYEAR(date)

Возвращает день года для указанной даты в диапазоне от 1 до 366.

SQL — Функции даты

EXTRACT(unit FROM date)

Функция EXTRACT() использует те же типы указателей единиц измерения, что и DATE_ADD() или DATE_SUB(), но не выполняет арифметические операции с датами, а извлекает из даты часть относящуюся к указателю единиц измерения.

SQL — Функции даты

FROM_DAYS(N)

Возвращается значение DATE с учетом числа дней N.

SQL — Функции даты

Примечание. Используйте FROM_DAYS() для старых дат осторожно. Функция не предназначена для работы со значениями дат до введения григорианского календаря (1582).

FROM_UNIXTIME(unix_timestamp), FROM_UNIXTIME(unix_timestamp,format)

Возвращает представление аргумента unix_timestamp как значение в формате «YYYY-MM-DD HH: MM: SS или YYYYMMDDHHMMSS» в зависимости от того, используется ли эта функция в строковом или в числовом контексте. Значение выражается в текущем часовом поясе. Параметр unix_timestamp является внутренним значением метки времени, которое создается функцией UNIX_TIMESTAMP().

Если format указано, результат форматируется в соответствии со строкой format, которая используется так же, как описано в разделе DATE_FORMAT().

SQL — Функции даты

HOUR(time)

Возвращает часы из указанного времени. Диапазон возвращаемого значения составляет от 0 до 23. Однако диапазон значений TIME на самом деле намного больше, поэтому HOUR может возвращать значения, превышающие 23.

SQL — Функции даты

LAST_DAY(date)

Принимает значение даты или даты и времени и возвращает значение, соответствующее последнему дню месяца. Возвращает NULL, если аргумент недействителен.

SQL — Функции даты

LOCALTIME и LOCALTIME()

LOCALTIME и LOCALTIME() являются синонимами для NOW().

LOCALTIMESTAMP и LOCALTIMESTAMP()

LOCALTIMESTAMP и LOCALTIMESTAMP() являются синонимами для NOW().

MAKEDATE(year,dayofyear)

Возвращает значения даты, заданного года и дня года. Значение dayofyear должно быть больше 0 или результат будет NULL.

SQL — Функции даты

MAKETIME(hour,minute,second)

Возвращает значение времени, рассчитанное из аргументов hour, minute и second.

SQL — Функции даты

MICROSECOND(expr)

Возвращает микросекунды из выражения времени или выражения datetime(expr) в виде числа в диапазоне от 0 до 999999.

SQL — Функции даты

MINUTE(time)

Возвращает минуты для указанного времени, в диапазоне от 0 до 59.

SQL — Функции даты

MONTH(date)

Возвращает месяц для указанной даты в диапазоне от 0 до 12.

SQL — Функции даты

MONTHNAME(date)

Возвращает полное название месяца для указанной даты.

SQL — Функции даты

Возвращает текущую дату и время как значение в формате «YYYY-MM-DD HH: MM: SS» или YYYYMMDDHHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте. Это значение выражается в текущем часовом поясе.

SQL — Функции даты

PERIOD_ADD(P,N)

Добавляет N месяцев к периоду P (в формате YYMM или YYYYMM). Возвращает значение в формате YYYYMM. Обратите внимание, что аргумент периода P не является значением даты.

SQL — Функции даты

PERIOD_DIFF(P1,P2)

Возвращает количество месяцев между периодами P1 и P2. Периоды P1 и P2 должны указываться в формате YYMM или YYYYMM. Обратите внимание, что аргументы периодов P1 и P2 не являются значениями даты.

SQL — Функции даты

QUARTER(date)

Возвращает квартал года для указанной даты в диапазоне от 1 до 4.

SQL — Функции даты

SECOND(time)

Возвращает значение секунд для времени в диапазоне от 0 до 59.

SQL — Функции даты

SEC_TO_TIME(seconds)

Возвращает аргумент seconds, преобразованный в часы, минуты и секунды в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте.

SQL — Функции даты

STR_TO_DATE(str,format)

Это инверсивная функция к функции DATE_FORMAT(). Она принимает строку str и строку формата format. Функция STR_TO_DATE() возвращает значение DATETIME, если строка формата содержит как дату, так и время. В противном случае она возвращает значение DATE или TIME, если строка содержит только дату или время.

SQL — Функции даты

SUBDATE(date,INTERVAL expr unit) и SUBDATE(expr,days)

Если SUBDATE() вызывается со вторым аргументом, заданным в виде INTERVAL, функция является синонимом DATE_SUB(). Информацию об аргументе INTERVAL смотрите в разделе DATE_ADD().

SQL — Функции даты

SUBTIME(expr1,expr2)

Функция SUBTIME() возвращает expr1. expr2 выражается как значение в том же формате, что и expr1. Значение expr1 является выражением времени или даты и времени, а значение expr2 является выражением времени.

SQL — Функции даты

SYSDATE()

Возвращает текущую дату и время как значение в формате «YYYY-MM-DD HH: MM: SS» или YYYYMMDDHHMMSS, в зависимости от того, используется ли функция в строковом или в числовом контексте.

SQL — Функции даты

TIME(expr)

Извлекает часть, относящуюся ко времени, выражения expr и возвращает его в виде строки.

SQL — Функции даты

TIMEDIFF(expr1,expr2)

Функция TIMEDIFF() возвращает expr1 . expr2 выражается как значение времени. Значения expr1 и expr2 представляют собой выражения времени или даты и времени, но оба они должны быть одного типа.

SQL — Функции даты

TIMESTAMP (expr), TIMESTAMP (expr1, expr2)

С одним указанным аргументом эта функция возвращает выражение даты или даты и времени expr, как значение даты и времени. С двумя аргументами она добавляет выражение времени expr2 к выражению даты или даты и времени expr1 и возвращает результат как значение даты и времени.

SQL — Функции даты

TIMESTAMPADD(unit,interval,datetime_expr)

Эта функция добавляет целочисленное выражение interval к выражению даты или времени datetime_expr. Единицы измерения для интервала задаются аргументом unit, который может принимать одно из следующих значений:

Значение unit может быть указано с использованием одного из ключевых слов, как было показано выше, или с префиксом SQL_TSI_. Например, DAY и SQL_TSI_DAY являются действительными значениями.

SQL — Функции даты

TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

Возвращает целочисленную разницу между выражениями даты или даты и времени datetime_expr1 и datetime_expr2. Единицы измерения для результата задаются аргументом unit. Действительными для аргумента unit являются те же значения, которые были перечислены в описании функции TIMESTAMPADD().

SQL — Функции даты

TIME_FORMAT(time,format)

Эта функция используется так же, как и функция DATE_FORMAT(), но строка format может содержать указатели формата только для часов, минут и секунд.

Если значение времени содержит часть, относящуюся к часам, которая больше 23, указатели формата часов %H и %k дают значение, большее, чем обычный диапазон от 0 до 23. Другие указатели формата часов дают значение часа 12 по модулю.

SQL — Функции даты

TIME_TO_SEC(time)

Возвращает аргумент time, преобразованный в секунды.

SQL — Функции даты

TO_DAYS(date)

Возвращает номер дня (количество дней с 0-го года) для заданной даты date.

SQL — Функции даты

UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)

Если эта функция вызывается без аргумента, она возвращает временную метку Unix (секунды с «1970-01-01 00:00:00» UTC), как целое положительное число. Если UNIX_TIMESTAMP() вызывается с аргументом date, она возвращает значение аргумента, выраженное в секундах с «1970-01-01 00:00:00» UTC. date может быть строкой DATE, строкой DATETIME, TIMESTAMP или числом в формате YYMMDD или YYYYMMDD.

SQL — Функции даты

UTC_DATE, UTC_DATE()

Возвращает текущую дату UTC как значение в формате «YYYY-MM-DD» или YYYYMMDD, в зависимости от того, используется ли эта функция в строковом или числовом контексте.

SQL — Функции даты

UTC_TIME, UTC_TIME()

Возвращает текущее время UTC как значение в формате «HH: MM: SS» или HHMMSS, в зависимости от того, используется ли функция в строковом или числовом контексте.

SQL — Функции даты

UTC_TIMESTAMP, UTC_TIMESTAMP()

Возвращает текущую дату и время UTC как значение «YYYY-MM-DD HH: MM: SS» или в формате YYYYMMDDHHMMSS, в зависимости от того, используется ли эта функция в строковом или в числовом контексте.

SQL — Функции даты

WEEK(date[,mode])

Эта функция возвращает номер недели для заданной даты date. Форма WEEK() с двумя аргументами позволяет указать, будет ли неделя начинаться в воскресенье или в понедельник, и должно ли возвращаемое значение находиться в диапазоне от 0 до 53 или от 1 до 53. Если аргумент mode опущен, используется значение системной переменной default_week_format

SQL — Функции даты

SQL — Функции даты

WEEKDAY(date)

Возвращает индекс дня недели для заданной даты date (0 = понедельник, 1 = вторник, 6 = воскресенье).

SQL — Функции даты

WEEKOFYEAR(date)

Возвращает календарную неделю для заданной даты date как число в диапазоне от 1 до 53. WEEKOFYEAR() — это функция совместимости, эквивалентная WEEK(date,3).

SQL — Функции даты

YEAR(date)

Возвращает год для заданной даты date в диапазоне от 1000 до 9999 или 0 для даты .zero.

SQL — Функции даты

YEARWEEK(date), YEARWEEK(date,mode)

Возвращает год и неделю для заданной даты date. Параметр mode работает точно так же, как аргумент mode для функции WEEK(). Год в результате может отличаться от года в аргументе даты для первой и последней недели года.

SQL — Функции даты

Примечание. Номер недели отличается от того, что вернет функция WEEK() (0) для необязательных аргументов 0 или 1, так как WEEK() вернет неделю в контексте данного года.

Похожие публикации:

  1. Sql запрос в access как создать
  2. Sql как заполнить таблицу данными из другой таблицы
  3. Sql как получить уникальные значения
  4. Sql как убрать время из даты

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *