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

Как в sql вывести дату без времени

  • автор:

GETDATE (Transact-SQL)

Возвращает текущую системную метку времени базы данных в виде значения datetime без смещения часового пояса базы данных. Это значение наследуется от операционной системы компьютера, на котором работает экземпляр SQL Server.

SYSDATETIME и SYSUTCDATETIME имеют большую точность в долях секунды, чем GETDATE и GETUTCDATE. SYSDATETIMEOFFSET включает смещение часового пояса, заданное в системе. SYSDATETIME, SYSUTCDATETIME и SYSDATETIMEOFFSET можно присваивать переменным любого типа даты и времени.

База данных SQL Azure (за исключением Управляемого экземпляра SQL Azure) и Azure Synapse Analytics используют время в формате UTC. Если необходимо интерпретировать сведения о дате и времени в часовом поясе, отличном от UTC, используйте AT TIME ZONE в Базе данных SQL Azure или Azure Synapse Analytics.

Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в статье Типы данных и функции даты и времени (Transact-SQL).

Синтаксис

GETDATE() 

Тип возвращаемых данных

datetime

Remarks

Инструкции языка Transact-SQL могут ссылаться на функцию GETDATE в любом месте, где они могут ссылаться на выражение типа datetime.

GETDATE является недетерминированной функцией. Невозможно проиндексировать представления и выражения, ссылающиеся на эту функцию в столбце.

Использование SWITCHOFFSET с функцией GETDATE() может вызвать замедление выполнения запроса, поскольку оптимизатор запросов не может получить точные оценки количества элементов для значения GETDATE. Рекомендуется заранее вычислить значение GETDATE, а затем указать это значение в запросе, как показано в следующем примере. Кроме того, с помощью указания запроса OPTION (RECOMPILE) можно вынудить оптимизатор запросов повторно компилировать план запроса при каждом выполнении одного и того же запроса. В этом случае оптимизатор будет иметь точные оценки количества элементов для GETDATE(), что позволит ему сформировать более эффективный план запроса.

DECLARE @dt datetimeoffset = switchoffset (CONVERT(datetimeoffset, GETDATE()), '-04:00'); SELECT * FROM t WHERE c1 > @dt OPTION (RECOMPILE); 

Примеры

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

A. Получение текущей системной даты и времени

SELECT SYSDATETIME() ,SYSDATETIMEOFFSET() ,SYSUTCDATETIME() ,CURRENT_TIMESTAMP ,GETDATE() ,GETUTCDATE(); 
SYSDATETIME() 2007-04-30 13:10:02.0474381 SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00 SYSUTCDATETIME() 2007-04-30 20:10:02.0474381 CURRENT_TIMESTAMP 2007-04-30 13:10:02.047 GETDATE() 2007-04-30 13:10:02.047 GETUTCDATE() 2007-04-30 20:10:02.047 

Б. Получение текущей системной даты

SELECT CONVERT (date, SYSDATETIME()) ,CONVERT (date, SYSDATETIMEOFFSET()) ,CONVERT (date, SYSUTCDATETIME()) ,CONVERT (date, CURRENT_TIMESTAMP) ,CONVERT (date, GETDATE()) ,CONVERT (date, GETUTCDATE()); 
SYSDATETIME() 2007-05-03 SYSDATETIMEOFFSET() 2007-05-03 SYSUTCDATETIME() 2007-05-04 CURRENT_TIMESTAMP 2007-05-03 GETDATE() 2007-05-03 GETUTCDATE() 2007-05-04 

В. Получение текущего системного времени

SELECT CONVERT (time, SYSDATETIME()) ,CONVERT (time, SYSDATETIMEOFFSET()) ,CONVERT (time, SYSUTCDATETIME()) ,CONVERT (time, CURRENT_TIMESTAMP) ,CONVERT (time, GETDATE()) ,CONVERT (time, GETUTCDATE()); 
SYSDATETIME() 13:18:45.3490361 SYSDATETIMEOFFSET() 13:18:45.3490361 SYSUTCDATETIME() 20:18:45.3490361 CURRENT_TIMESTAMP 13:18:45.3470000 GETDATE() 13:18:45.3470000 GETUTCDATE() 20:18:45.3470000 

Примеры: Azure Synapse Analytics и Система платформы аналитики (PDW)

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

Г. Получение текущей системной даты и времени

SELECT SYSDATETIME() ,CURRENT_TIMESTAMP ,GETDATE(); 

Д. Получение текущей системной даты

SELECT CONVERT (date, SYSDATETIME()) ,CONVERT (date, CURRENT_TIMESTAMP) ,CONVERT (date, GETDATE()); 

Е. Получение текущего системного времени

SELECT CONVERT (time, SYSDATETIME()) ,CONVERT (time, CURRENT_TIMESTAMP) ,CONVERT (time, GETDATE()); 

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

Подскажите запрос на выборку только даты из БД. Имеется строка в таблице формата 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.

SQL рецепты: дата без времени

Так же часто встречающаяся задача — получить дату без времени. Два рецепта, первый работает с 2005 сервера, второй с 2008.

1. select CAST(CONVERT(VARCHAR, GETDATE(), 102) AS DATETIME)

2. select CAST(CAST(GETDATE() AS date) as DATETIME)

4 thoughts on “ SQL рецепты: дата без времени ”

На праздниках Я сорвал куш в этом
любимом онлайн-казино
На прошлой неделе Я забрал бабло в этом игровом зале
Не очень давно Я выиграл много денег в этом лучшем онлайн-клубе
Несколько месяцев назад Я разбогател в этом онлайн-казино

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

Я слушаю..

  • No recently listened tracks.

Me on.

Друзья

Последние комментарии

  • BlakeBer к записи Google speech api v2 для чайников
  • AlbertBal к записи Google speech api v2 для чайников
  • Michaelhigue к записи Google speech api v2 для чайников

Ссылки

  • ЖК Квартал Новаторов Екатеринбург
  • Квартиры в Екатеринбурге

Как вывести дату в sql

Чтобы вывести дату в SQL, используйте функцию DATE_FORMAT() . Синтаксис функции выглядит следующим образом:

DATE_FORMAT(date, format) 

где date — это дата, которую вы хотите отформатировать, а format — это строка формата, которая определяет, как должна быть отформатирована дата.

Например, чтобы вывести текущую дату в формате ГГГГ-ММ-ДД, используйте следующий запрос:

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); 

В результате выполнения этого запроса вы увидите дату в формате ГГГГ-ММ-ДД, например, 2023-04-08.

Вы также можете использовать функции для работы с датами, такие как NOW() , CURDATE() , CURTIME() , чтобы получить текущую дату и время, текущую дату и текущее время соответственно.

Некоторые примеры форматирования дат:

  • ‘%Y-%m-%d’ — ГГГГ-ММ-ДД (например, 2023-04-08)
  • ‘%Y-%m-%d %H:%i:%s’ — ГГГГ-ММ-ДД ЧЧ:ММ:СС (например, 2023-04-08 13:30:45)
  • ‘%d-%m-%Y’ — ДД-ММ-ГГГГ (например, 08-04-2023)

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

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

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