Конвертировать дату и время в SQL Server в более короткий формат - PullRequest
72 голосов
/ 18 января 2012

У меня есть столбец datetime в SQL Server, который дает мне данные, подобные этому 10/27/2010 12:57:49 pm, и я хочу запросить этот столбец, но только SQL Server возвращает день, месяц и год - например. 2010 10 27 или что-то в этом роде.

Какие функции я должен исследовать?

Стоит ли пытаться преобразовать данные в другой тип данных? Или просто преобразовать его в строку?

Ответы [ 10 ]

114 голосов
/ 18 января 2012

Посмотрите на CONVERT .Третий параметр - это стиль даты и времени, в который вы хотите преобразовать.

например,

SELECT CONVERT(VARCHAR(10), GETDATE(), 103) -- dd/MM/yyyy format
47 голосов
/ 19 февраля 2014

Попробуйте это:

print cast(getdate() as date )

13 голосов
/ 20 ноября 2012

Если вам нужен результат в формате даты, вы можете использовать:

Select Convert(DateTime, Convert(VarChar, GetDate(), 101))
9 голосов
/ 18 января 2012

В дополнение к CAST и CONVERT, если вы используете Sql Server 2008, вы можете преобразовать в тип даты (или использовать этот тип для начала), а затем при желании снова преобразовать в varchar:

declare @myDate date
set @myDate = getdate()
print cast(@myDate as varchar(10))

вывод:

2012-01-17
6 голосов
/ 05 марта 2015

В SQL Server 2005 я бы использовал это:

select replace(convert(char(10),getdate(),102),'.',' ')

Результаты: 2015 03 05

3 голосов
/ 26 мая 2016

Самый короткий формат даты мм / дд / гг можно получить с помощью:

Select Convert(varchar(8),getdate(),1)
2 голосов
/ 11 мая 2018

Если у вас есть поле datetime , которое дает результаты, подобные этому 2018-03-30 08: 43: 28.177

Предложено: , и вы хотите изменить datetime на date , чтобы оно выглядело как 2018-03-30

cast(YourDateField as Date)
0 голосов
/ 27 декабря 2018

Исходное поле DateTime: [_Date_Time]

Преобразовано в Shortdate: 'Short_Date'

CONVERT(date, [_Date_Time]) AS 'Short_Date'
0 голосов
/ 17 декабря 2015

Для любых версий SQL Server: dateadd (дд, дата (дд, 0, getdate ()), 0)

0 голосов
/ 14 ноября 2014

Просто добавьте ключевое слово даты. Например. выберите дату (дата заказа), количество (1) из заказов, где дата заказа> '2014-10-01', группа по дате (дата заказа);

Дата заказа указана в дате. Этот запрос покажет заказы на эту дату, а не на дату и время.

Ключевое слово Date, примененное к столбцу datetime, изменит его на короткую дату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...