Преобразование SQL Server datetime в более короткий формат даты


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

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

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

9 62

9 ответов:

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

например

SELECT CONVERT(VARCHAR(10), GETDATE(), 103) -- dd/MM/yyyy format

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

print cast(getdate() as date )

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

Select Convert(DateTime, Convert(VarChar, GetDate(), 101))

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

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

выход:

2012-01-17

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

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

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

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

Select Convert(varchar(8),getdate(),1)

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

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

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

cast(YourDateField as Date)

просто добавьте ключевое слово даты. Е. Г. выберите дату(датаразмещения),граф(1) от заказов, где orderdate > '2014-10-01' группировать по дате(датаразмещения);

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

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