Люди уже говорили, как это сделать, используя выражение в стиле CASE ... WHEN ... THEN
, но я просто хотел бы высказать мнение, что это равносильно наличию бизнес-логики в базе данных.Обычно я стремлюсь сохранить базу данных исключительно для хранения и использовать бизнес-логику на более высоком уровне моего приложения.
Я думаю, что так, потому что, если вы считаете, что приложение имеет многоуровневую архитектуру, вы поместитебизнес-логика в один слой, и один или несколько уровней глубже будет ваша база данных.Один или несколько уровней выше будет вашим пользовательским интерфейсом.«Бизнес-логика в базе данных» - это плохо, так же как было бы плохо помещать бизнес-логику в обработчик для события button_Click
в форме.
Я понимаю, что это может не подходить для вашегоособые обстоятельства в этот день в 2011 году, но для будущих читателей этого вопроса, я надеюсь, он пригодится.