Перейти к содержимому

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

  • автор:

Как убрать время из даты sql

Чтобы убрать время из даты в SQL, можно использовать функцию DATE или CONVERT с указанием нужного формата.

Функция DATE :

SELECT DATE(column_name) FROM table_name; 

Эта функция извлекает дату из столбца column_name и возвращает ее без времени. Результат будет иметь формат YYYY-MM-DD.

Функция CONVERT :

SELECT CONVERT(date, column_name) FROM table_name; 

Функция CONVERT преобразует значение столбца column_name в тип date . Результат также будет иметь формат YYYY-MM-DD и не будет содержать времени.

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

Выборка даты без времени

Подскажите запрос на выборку только даты из БД. Имеется строка в таблице формата TIMESTAMP 0000-0-0 00:00:00 , так вот как сделать что бы на экран выводилась только дата а не дата со временем .

Отслеживать
задан 17 янв 2013 в 9:47
1,665 5 5 золотых знаков 35 35 серебряных знаков 73 73 бронзовых знака

4 ответа 4

Сортировка: Сброс на вариант по умолчанию

SELECT DATE_FORMAT( `date_field` , '%d %M %Y' ) AS `date_format` FROM `table_name` 

Отслеживать
ответ дан 17 янв 2013 в 10:01
34k 1 1 золотой знак 31 31 серебряный знак 49 49 бронзовых знаков
А как сделать чтоб %M — на русском выводило?)
7 мая 2018 в 12:05
@junior-web-dev, запрос перед этим сделайте: SET lc_time_names = ‘ru_RU’;
7 мая 2018 в 12:43

SELECT DATE( some_field ) FROM some_table

Больше функций — красивых и разных.

Отслеживать
ответ дан 17 янв 2013 в 9:59
xEdelweiss xEdelweiss
9,114 17 17 серебряных знаков 31 31 бронзовый знак

В конце выбранного названия колонки дописать ::date, если я правильно вас понял.

Отслеживать
ответ дан 1 мар 2020 в 14:35

Вот пример, чтоб было более понятно. select shipments.ship_date::date,customer_id,publication, type from shipments, editions, stock ORDER BY publication;

1 мар 2020 в 14:36
Покажите пожалуйста результат вашего запроса на каком-то sql fiddle.
1 мар 2020 в 15:53

вот тут смотрите, думаю, найдете, что искали

Отслеживать
ответ дан 17 янв 2013 в 9:55
DreamChild DreamChild
36.2k 3 3 золотых знака 45 45 серебряных знаков 85 85 бронзовых знаков

  • sql
  • html
  • php
  • mysql
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Типы данных и функции даты и времени (Transact-SQL)

В разделах этой статьи представлен обзор всех типов данных и функций даты и времени Transact-SQL.

  • Типы данных даты и времени
  • Функции даты и времени
    • Функции, возвращающие значения системной даты и времени
    • Функции, возвращающие компоненты даты и времени
    • Функции, возвращающие значения даты и времени из их компонентов
    • Функции, возвращающие значения разности даты и времени
    • Функции, изменяющие значения даты и времени
    • Функции, устанавливающие или возвращающие функции формата сеанса
    • Функции, проверяющие значения даты и времени

    Типы данных даты и времени

    Типы данных даты и времени Transact-SQL перечислены в следующей таблице:

    Тип данных Формат Диапазон Точность Объем памяти (в байтах) Определяемая пользователем точность в долях секунды Смещение часового пояса
    time чч:мм:сс[.ннннннн] От 00:00:00.0000000 до 23:59:59.9999999 100 наносекунд от 3 до 5 Да Нет
    date ГГГГ-ММ-ДД От 0001-01-01 до 31.12.99 1 день 3 Нет Нет
    smalldatetime ГГГГ-ММ-ДД чч:мм:сс От 01.01.1900 до 06.06.2079 1 минута 4 нет Нет
    datetime ГГГГ-ММ-ДД чч:мм:сс[.ннн] От 01.01.1753 до 31.12.9999 0,00333 секунды 8 Нет Нет
    datetime2 ГГГГ-ММ-ДД чч:мм:сс[.ннннннн] От 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999 100 наносекунд От 6 до 8 Да Нет
    datetimeoffset ГГГГ-ММ-ДД чч:мм:сс[.ннннннн] [+|-]чч:мм От 0001-01-01 00:00:00.0000000 до 9999-12-31 23:59:59.9999999 (время в формате UTC) 100 наносекунд От 8 до 10 Да Да

    Тип данных Transact-SQL rowversion не относится к типам данных даты и времени. Тип данных timestamp является устаревшим синонимом rowversion.

    Функции даты и времени

    В следующих таблицах приводятся функции даты и времени Transact-SQL. Дополнительные сведения о детерминизме см. в статье Детерминированные и недетерминированные функции.

    Функции, возвращающие значения системной даты и времени

    Transact-SQL наследует все значения системной даты и времени от операционной системы компьютера, на котором работает экземпляр SQL Server.

    Высокоточные функции системной даты и времени

    Начиная с SQL Server 2008 (10.0.x) ядро СУБД получает значения даты и времени с помощью API Windows GetSystemTimeAsFileTime(). Точность зависит от физического оборудования и версии Windows, в которой запущен экземпляр SQL Server. Точность возвращаемых значений этого API-интерфейса задана равной 100 нс. Точность может быть определена с помощью метода GetSystemTimeAdjustment() API-интерфейса Windows.

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    SYSDATETIME SYSDATETIME ( ) Возвращает значение типа datetime2(7), которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение не содержит смещение часового пояса. datetime2(7) Недетерминированная
    SYSDATETIMEOFFSET SYSDATETIMEOFFSET ( ) Возвращает значение типа datetimeoffset(7), которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение содержит смещение часового пояса. datetimeoffset(7) Недетерминированная
    SYSUTCDATETIME SYSUTCDATETIME ( ) Возвращает значение типа datetime2(7), которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Функция возвращает значения даты и времени в формате UTC. datetime2(7) Недетерминированная
    Функции системной даты и времени меньшей точности
    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    CURRENT_TIMESTAMP CURRENT_TIMESTAMP Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение не содержит смещение часового пояса. datetime Недетерминированная
    GETDATE GETDATE ( ) Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Возвращаемое значение не содержит смещение часового пояса. datetime Недетерминированная
    GETUTCDATE GETUTCDATE ( ) Возвращает значение типа datetime, которое содержит дату и время компьютера, на котором запущен экземпляр SQL Server. Функция возвращает значения даты и времени в формате UTC. datetime Недетерминированная

    Функции, возвращающие компоненты даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATE_BUCKET DATE_BUCKET ( datepart, number, date, origin ) Возвращает значение даты и времени, соответствующее началу каждого контейнера даты и времени, из временной метки, определенной параметром origin или исходным значением по умолчанию 1900-01-01 00:00:00.000 , если параметр orgin не указан. Тип возвращаемого значения зависит от типа аргумента, переданного в параметре date. Недетерминированная
    DATENAME DATENAME ( datepart, date ) Возвращает строку символов, представляющую указанную часть datepart заданного типа date. nvarchar Недетерминированная
    DATEPART DATEPART ( datepart, date ) Возвращает целое число, представляющее указанную часть datepart заданного типа date. int Недетерминированная
    DATETRUNC DATETRUNC ( datepart, date ) Эта функция возвращает входную дату date, усеченную до указанной части datepart. Тип возвращаемого значения зависит от типа аргумента, переданного в параметре date. Недетерминированная
    DAY DAY ( date ) Возвращает целое число, представляющее часть дня указанного типа date. int Детерминированный
    MONTH MONTH ( date ) Возвращает целое число, представляющее часть месяца указанного типа date. int Детерминированный
    YEAR YEAR ( date ) Возвращает целое число, представляющее часть года указанного типа date. int Детерминированный

    Функции, возвращающие значения даты и времени из их компонентов

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATEFROMPARTS DATEFROMPARTS ( year, month, day ) Возвращает значение date, соответствующее указанному числу, месяцу и году. date Детерминированный
    DATETIME2FROMPARTS DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision) Возвращает значение datetime2, соответствующее указанной дате и времени с заданной точностью. datetime2(precision) Детерминированный
    DATETIMEFROMPARTS DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) Возвращает значение datetime, соответствующее указанной дате и времени. datetime Детерминированный
    DATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) Возвращает значение datetimeoffset для указанных даты и времени с указанными смещением и точностью. datetimeoffset(precision) Детерминированный
    SMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) Возвращает значение smalldatetime, соответствующее указанной дате и времени. smalldatetime Детерминированный
    TIMEFROMPARTS TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) Возвращает значение time, соответствующее указанному времени с заданной точностью. time(precision) Детерминированный

    Функции, возвращающие значения разности даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATEDIFF DATEDIFF ( datepart, startdate, enddate ) Возвращает количество границ даты или времени datepart, пересекающихся между двумя указанными датами. int Детерминированный
    DATEDIFF_BIG DATEDIFF_BIG ( datepart, startdate, enddate ) Возвращает количество границ даты или времени datepart, пересекающихся между двумя указанными датами. bigint Детерминированный

    Функции, изменяющие значения даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    DATEADD DATEADD (datepart, number, date ) Возвращает новое значение datetime, добавляя интервал к указанной части datepart заданной даты date. Тип данных аргумента date Детерминированный
    EOMONTH EOMONTH ( start_date [, month_to_add ] ) Возвращает последний день месяца, содержащего указанную дату, с необязательным смещением. Тип возвращаемого значения — это тип аргумента start_date или тип данных date. Детерминированный
    SWITCHOFFSET SWITCHOFFSET (DATETIMEOFFSET, time_zone) Функция SWITCHOFFSET изменяет смещение часового пояса для значения DATETIMEOFFSET и сохраняет значение UTC. Значение datetimeoffset с точностью в долях секунд, заданной в аргументе DATETIMEOFFSET Детерминированный
    TODATETIMEOFFSET TODATETIMEOFFSET (expression, time_zone) TODATETIMEOFFSET преобразует значение типа datetime2 в значение типа datetimeoffset. Функция TODATETIMEOFFSET преобразует значение datetime2 в местное время для указанного time_zone. Значение datetimeoffset с точностью в долях секунд, заданной в аргументе datetime Детерминированный

    Функции, устанавливающие или возвращающие функции формата сеанса

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    @@DATEFIRST @@DATEFIRST Возвращает текущее значение параметра SET DATEFIRST для сеанса. tinyint Недетерминированная
    SET DATEFIRST SET DATEFIRST < number | @number_var > Устанавливает первый день недели в виде числа от 1 до 7. Неприменимо Неприменимо
    SET DATEFORMAT SET DATEFORMAT < format | @format_var > Задает порядок составляющих даты (месяц/день/год) для ввода данных типа datetime или smalldatetime. Неприменимо Неприменимо
    @@LANGUAGE @@LANGUAGE Возвращает название использующегося в настоящий момент языка. @@LANGUAGE не является функцией даты или времени. Однако на данные, выводимые функциями даты, могут повлиять настройки языка. Неприменимо Неприменимо
    SET LANGUAGE SET LANGUAGE < [ N ] language | @language_var > Устанавливает языковую среду сеанса и системных сообщений. SET LANGUAGE не является функцией даты или времени. Однако на данные, выводимые функциями даты, влияет параметр языка. Неприменимо Неприменимо
    sp_helplanguage sp_helplanguage [ [ = ] language ] Возвращает сведения о формате даты всех поддерживаемых языков. sp_helplanguage не является хранимой процедурой даты или времени. Однако на данные, выводимые функциями даты, влияет параметр языка. Неприменимо Неприменимо

    Функции, проверяющие значения даты и времени

    Функция Синтаксис Возвращаемое значение Тип возвращаемых данных Детерминизм
    ISDATE ISDATE ( expression ) Определяет, является ли входное выражение типа datetime или smalldatetime допустимым значением даты или времени. int Функция ISDATE детерминирована, только если используется совместно с функцией CONVERT и если заданный параметр стиля CONVERT не равен 0, 100, 9 или 109.

    Дата и время — см. также

    Статья Описание
    FORMAT Возвращает значение в указанных формате и культуре (не обязательно). Для выполнения форматирования значения даты, времени и чисел с учетом локали в виде строк используется функция FORMAT.
    Функции CAST и CONVERT (Transact-SQL) Предоставляет сведения о преобразовании значений даты и времени в строковые литералы и обратно, а также в другие форматы даты и времени.
    Написание инструкций Transact-SQL, адаптированных к международному использованию Предоставляет рекомендации относительно переносимости баз данных и приложений баз данных, использующих инструкции Transact-SQL, с одного языка на другой или в многоязычную среду.
    Скалярные функции ODBC (Transact-SQL) Предоставляет сведения о скалярных функциях ODBC, которые могут использоваться в инструкциях Transact-SQL. К ним относятся функции даты и времени ODBC.
    AT TIME ZONE (Transact-SQL) Обеспечивает преобразование часовых поясов.

    См. также

    • Функции
    • Типы данных (Transact-SQL)

    Обратная связь

    Были ли сведения на этой странице полезными?

    Как убрать время у даты при получение данных из модели бд?

    Пробывал в запросе прописать ->select(‘DATE_FORMAT(date, «%m-%Y») as data’)
    Выдает ошибку SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘FROM `zakaz` WHERE (action = (CURDATE()-1) AND data < CURDATE()' at line 1

    5adf23083cf40372464096.png

    Мне это нужно для группировки даты. Сейчас у меня все выглядит вот так. Получается объединять только если и время тоже совпадает.

    $Articles = new ActiveDataProvider([ 'query' => \app\models\Zakaz::find() ->where('action andWhere('data >= DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY)'), 'pagination' => [ 'pageSize' => 20, ], ]);
     $Articles, 'showFooter' => true, 'filterModel'=>$searchModel, /*'showPageSummary'=>true,*/ 'pjax'=>true, 'striped'=>true, 'hover'=>true, 'panel'=>['type'=>'primary', 'heading'=>'За неделю'], 'columns' => [ [ 'attribute'=>'data', 'width'=>'310px', 'value'=>function ($model, $key, $index, $widget) < return $model->data; >, 'filterType'=>GridView::FILTER_SELECT2, 'filter'=>ArrayHelper::map(\app\models\Zakaz::find()->orderBy('data')->asArray()->all(), 'id_zakaz', 'data'), 'filterWidgetOptions'=>[ 'pluginOptions'=>['allowClear'=>true], ], 'filterInputOptions'=>['placeholder'=>'Any supplier'], 'group'=>true, // enable grouping ], [ 'class' => NumberColumn::className(), 'attribute' => 'fact_oplata', ], ], ]);;?>
    • Вопрос задан более трёх лет назад
    • 261 просмотр

    1 комментарий

    Средний 1 комментарий

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

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