Извлечь время и день недели из заданного datetime в sql - PullRequest
2 голосов
/ 27 октября 2011

Я попробовал CONVERT(TIME,sample_datetime), но мое программное обеспечение не распознает ВРЕМЯ как тип.

Как мне взять образец datetime и извлечь из него время в одной переменной и в день неделииз него в другую переменную?

Ответы [ 3 ]

2 голосов
/ 27 октября 2011

Использование функции DATEPART () :

// returns 4
SELECT DATEPART(day, '2010-09-04 11:22:33')

// returns 7
SELECT DATEPART(dw, '2010-09-04 11:22:33')

// returns 11:22:33
SELECT CAST(DATEPART(HOUR, '2010-09-04 11:22:33') AS VARCHAR(2)) + ':'
     + CAST(DATEPART(MINUTE, '2010-09-04 11:22:33') AS VARCHAR(2)) + ':'
     + CAST(DATEPART(SECOND, '2010-09-04 11:22:33')AS VARCHAR(2))

Относительно типа данных TIME - он появился с Sql Server 2008:

SELECT CAST('2010-09-04 11:22:33'  as Time)
1 голос
/ 27 октября 2011

вы не указали версию сервера sql, но

select datepart(dw,yourdate) должен это сделать.

0 голосов
/ 27 октября 2011

DATEPART или DATENAME с DW будет работать для дня недели в зависимости от того, какой формат вам нужен

SELECT DATEPART(DW, GETDATE())
SELECT DATENAME(DW, GETDATE())

Вы можете преобразовать дату и время в varchar с определенным форматированием, чтобы получить только время

SELECT CONVERT(VARCHAR, GETDATE(), 14)

2008 имеет тип данных TIME, но это не похоже на то, что вы работаете,

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