SQL datetime в дату и время

#sql #sql-server

#sql #sql-сервер

Вопрос:

Не уверен, что способ разбить поле datetime на 2 столбца, день недели и время

 ContactDate
2019-07-09 09:15:12.000
  

Мой запрос:

 SELECT FORMAT(contactdate, 'ddd') AS Result FROM contact
  

И результат только дата недели, но нет времени. Как мы получаем время? Спасибо.

 Result
Tue
  

Ответ №1:

Просто используйте DATENAME и CONVERT :

 SELECT CONVERT(varchar(3),DATENAME(WEEKDAY,ContactDate)),
       CONVERT(time(3),ContactDate)
FROM dbo.Contact;
  

Я не рекомендую FORMAT . Хотя это полезная функция, она работает значительно медленнее, чем другие функции; особенно при работе с большими наборами данных.

Ответ №2:

 SELECT cast(contactdate as time) [time]