Подтвердить что ты не робот

Получить часы и минуты (ЧЧ: ММ) с даты

Я хочу получить только hh:mm от даты.

Как я могу получить это?

Я попробовал это:

CONVERT(VARCHAR(8), getdate(), 108)
4b9b3361

Ответ 1

Просто используйте первые 5 символов...?

 SELECT CONVERT(VARCHAR(5),getdate(),108) 

Ответ 2

Вы можете легко использовать функцию Format() вместо всех приведений только для SQL 2012 и выше

SELECT FORMAT(GETDATE(),'hh:mm')

На сегодняшний день это лучший способ сделать необходимое преобразование.

Ответ 3

Другой метод с использованием встроенной функции DATEPART:

SELECT cast(DATEPART(hour, GETDATE()) as varchar) + ':' + cast(DATEPART(minute, GETDATE()) as varchar)

Ответ 4

Вот синтаксис для отображения часов и минут для поля, выходящего из инструкции SELECT. В этом примере поле SQL называется "updatedOnAt" и представляет собой DateTime. Протестировано с MS SQL 2014.

SELECT Format(UpdatedOnAt ,'hh:mm') as UpdatedOnAt from MyTable

Мне нравится формат, который показывает день недели как трехбуквенное сокращение и включает в себя секунды:

SELECT Format(UpdatedOnAt ,'ddd hh:mm:ss') as UpdatedOnAt from MyTable

Суффикс "as updatedOnAt" является необязательным. Вы получите заголовок столбца, равный полю, которое вы выбрали для начала.

Ответ 5

Следующий код показывает текущий час и минуты в столбце "Час: минуты" для нас.

SELECT  CONVERT(VARCHAR(5), GETDATE(), 108) + 
(CASE WHEN DATEPART(HOUR, GETDATE()) > 12 THEN ' PM'
    ELSE ' AM'
END) 'Hour:Minutes'

или же

SELECT  Format(GETDATE(), 'hh:mm') + 
(CASE WHEN DATEPART(HOUR, GETDATE()) > 12 THEN ' PM'
    ELSE ' AM'
END) 'Hour:Minutes'