Я могу извлечь месяц и день, используя Day(Date())
, Month(Date())
. Я не могу извлечь часы, с HOUR(Date())
. Я получаю следующую ошибку.
'HOUR' is not a recognized built-in function name.
Как я могу извлечь часы?
SELECT DATEPART(HOUR, GETDATE());
HOUR
вместо использования ленивых сокращений, что не всегда то, что вы ожидаете (попробуйтеy
). Не стесняйтесь поддерживать свой собственный код так, как вам нравится, но для преподавания я против продвижения ленивых сокращений, которые приводят к путанице или хуже. Смотрите # 6 здесь: blogs.sqlsentry.com/aaronbertrand/… и sqlblog.com/blogs/aaron_bertrand/archive/2011/09/20/…... вы можете использовать его для любого типа гранулярности, т.е.
(примечание: мне нравится [] вокруг слова, зарезервированного для даты. Конечно, это в том случае, если ваш столбец с отметкой времени помечен как «дата»)
источник
Используйте datepart .
Например:
источник
попробуйте это тоже:
источник
DATEPART(HOUR, [date])
возвращает час по военному времени (от 00 до 23). Если вы хотите 1:00, 3:00 и т. д., вам нужно выяснить это:источник
Попробуйте это тоже:
источник
работает
источник
Функция DATEPART () используется для возврата одной части даты / времени, такой как год, месяц, день, час, минута и т. Д.
пример
источник
Существует способ вызова
HOUR
(хотя я бы не рекомендовал использовать его, потому что естьDATEPART
функция) с использованием скалярных функций ODBC :LiveDemo
источник
Вы должны использовать datepart ()
источник