2016-09-07 4 views
0

Могу ли я выполнить запрос на обновление, проверив значение даты, когда введенная дата больше даты, хранящейся в базе данных.Выполнение запроса на обновление с датой

IF @input_date > table.date 
    UPDATE table SET table.value = 0, table.date = @input_date 
ELSE 
    UPDATE table SET table.value = @input_value, table.date = @input_date 

ответ

3

Использование CASE Заявление

Попробуйте

UPDATE table 
    SET table.value = CASE WHEN @input_date > table.date THEN 0 ELSE @input_value END, 
     table.date = @input_date 
+1

Конечно! Использование оператора Case. Я попробую это и будет обновляться с результатами, спасибо. – walangala

+1

Спасибо! Мне нужно продолжать практиковать, чтобы запомнить эти основы. – walangala

0

Другой способ сделать это было бы поставить тест в где условие утверждения обновлений. Так что обновление происходит только при условии выполнения условия

update 
    table 
set 
    table.value = @input_date 
where 
    table.value < @input_date 
Смежные вопросы