Возникла базовая проблема с SQL при использовании Microsoft SQL Server 2012.

Я новичок в операторах SQL, и я предполагаю, что это что-то очевидное, поэтому заранее прошу прощения за вопрос новичка.

Вот код:

use test;
declare @time_24_2 int;
declare @hours_diff_2 int;

SELECT 
    end_date_full 
FROM 
    example 
WHERE 
    datediff(hour, getdate(), end_date_full) < 24
GROUP BY 
    end_date_full

SET @time_24_2 = end_date_full;
select @time_24_2

Это мой код, и я просто пытаюсь извлечь столбец end_date_full из каждой строки, которая соответствует критериям. Однако каждый раз, когда я пытаюсь использовать столбец end_date_full, как показано ниже, я получаю сообщение об ошибке Неизвестное имя столбца.

Любая помощь будет потрясающей!

PS end_date_full - это имя столбца, и оно работает для первого оператора выбора, но не для оператора SET.


person Bryce    schedule 19.03.2014    source источник
comment
Дублировать?: Как установить переменную из SQL-запроса?.   -  person    schedule 14.08.2014


Ответы (1)


Это потому, что вы пытаетесь использовать имя столбца вне запроса, когда назначаете его переменной. Это должно помочь:

SELECT @time_24_2 = end_date_full 
FROM example 
WHERE datediff(hour, getdate(), end_date_full) < 24
group by end_date_full
person shree.pat18    schedule 19.03.2014