Я пытаюсь извлечь числовое значение часа из столбца, содержащего время, отформатированное как DateTime. Например, вот несколько записей из этой колонки:Извлечение значения часа из столбца datetime с использованием функции DATEPART
Time Aired
4:20:00 PM
12:51:00 PM
3:17:00 PM
3:24:00 PM
С этой колонке я пытаюсь извлечь 4, 12, 3, 3, и т.д. Функция DATEPART, как представляется, быть хорошим вариантом , Однако, когда я пытаюсь использовать эту функцию, как показано ниже, мне предлагается ввести параметр для Часа. Это заставляет меня думать, что я неправильно внедряю DATEPART. Может ли кто-нибудь определить, что может быть проблемой? Может ли проблема заключаться в том, что мой столбец с форматированием даты и времени содержит только значения времени?
SELECT DATEPART(hour, [Time Aired]) AS Foo
FROM DRTV_CentralOnly
WHERE [Time Aired] <> null;
Спасибо. Я не знаю, как я забыл цитаты в документации. Что касается инструкции WHERE, обе версии работают. Я не знаю, лучше ли. – hughesdan
Да, я получаю те же результаты запроса, если я использую <> null – hughesdan
Прошло несколько лет, поэтому, надеюсь, вы используете «не null» вместо «<> null». Ссылка: [Как получить NULLs Horribly Wrong] (https://www.simple-talk.com/sql/t-sql-programming/how-to-get-nulls-horribly-wrong-in-sql-server/) – RobertB