2016-12-03 5 views
1

Как я могу сделать IF..Else, как программирование в T-SQL?Как сделать IF ... ELSE как программирование в SQL Server 2008

Например:

SELECT YEAR FROM TABLE; 
IF (YEAR = 2015) 
{ // do something } 
ELSE IF (YEAR = 2016) 
{ // do something } 

Я пытаюсь добиться этого с хранимой процедурой.

Предложения приветствуются ..as Я новичок в мире программирования ..

+1

Как об использовании какой-то случай, когда? –

+0

Thanx для быстрого ответа, но я попробовал его с CASE WHEN, но получил синтаксическую ошибку. Не могли бы вы предоставить пример с таким подходом. – swat

+0

Поместите 'if' перед' select'. –

ответ

3

Вы должны магазин что значение вы выборки из таблицы в переменной, а затем принять решение о значении этой переменной:

DECLARE @CurrYear INT; 

SELECT @CurrYear = YEAR 
FROM TABLE; 

IF (@CurrYear = 2015) 
    -- do something 
ELSE IF (@CurrYear = 2016) 
    -- do something else 
+1

при условии, что таблица содержит только одно значение за год ... –

+0

@MartinSmith: да, это было бы требованием - и столбец 'YEAR' должны быть типа данных 'INT', тоже .... –

+0

Привет @marc_s, если у меня есть несколько значений за год в таблице. я попытался взять курсор, но у меня нет подсказки, как я могу использовать условие IF ..ELSE IF внутри курсора – swat

0

Поскольку вопрос был отредактирован, прежде чем я добавил этот ответ, я не знал раньше, что ОП был направлен на T-SQL. Тем не менее, я оставлю это здесь только для людей, которым интересно, как это может выглядеть в MySQL.

DELIMITER // 
CREATE PROCEDURE Years (yr INT) 
    BEGIN 
    IF yr = 2015 THEN 
     SELECT or whatever ...; 
    ELSEIF yr = 2016 THEN 
     DO something else...; 
    END IF; 
    END // 
DELIMITER ; 
+1

Это недопустимо ** Синтаксис T-SQL ** (Microsoft ** SQL Server **) .... –

+0

? Он отредактировал свой вопрос, упомянутый после T-SQL, как я могу узнать раньше. Я просто позволю этому остаться здесь для людей, которые могут захотеть узнать, как в MySQL – Thielicious

Смежные вопросы