Преобразование SQL Server datetime в более короткий формат даты
у меня есть datetime
столбец в SQL Server, который дает мне такие данные 10/27/2010 12:57:49 pm
и я хочу запросить этот столбец, но просто SQL Server возвращает день месяц и год-например. 2010 10 27
или что-то подобное.
какие функции я должен исследовать?
должен ли я пытаться конвертировать в другой тип данных даты? Или просто преобразовать его в строку?
9 ответов:
посмотреть преобразование. 3-й параметр-это стиль даты и времени, в который вы хотите преобразовать.
например
SELECT CONVERT(VARCHAR(10), GETDATE(), 103) -- dd/MM/yyyy format
Если вам нужен результат в формате даты вы можете использовать:
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)
Если у вас 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.