Вы используете здесь некоторые запутанные термины. Что конкретно означает «значение вставлено в столбец»? Когда мы говорим на SQL, мы не используем слово insert
в терминах «хранить данные», а не саму команду.
Итак, скажите нам: вы пытаетесь INSERT
новый ряд или UPDATE
существующий?
Если вы INSERT
ing, то простой ответ, как сказал Шон Ланге, - это CASE
утверждение, например:
insert test1(col1,col2)
select case when value_for_col2 in (3,4,5) then 'G' else NULL end,value_for_col2
from some_other_table
Если вы UPDATE
, то вы можете сделать то же самое:
update test1
set col2=some_new_value,
col1=case when value_for_col2 in (3,4,5) then 'G' else col2 end
, который сохраняет значение col1 для значений col2, отличных от 3,4,5.