插入到数据库中,条件基于同一行中的插入值

时间:2017-02-05 23:02:04

标签: sql sql-server database insert

我正在尝试根据作为同一行的参数传入的另一个值将新行插入到数据库中。

例如,我有三列 - 名称,年龄,personType

我想在数据库中插入一个新行。应该插入男性'或者'女性'根据传入的人的年龄而定。还需要插入未知的'如果未通过年龄

Insert into Tablename(name, age, personType) 
values(@name,@age,if(age>18)? 'Adult': 'Minor'))

这可能吗?

1 个答案:

答案 0 :(得分:0)

您的代码与您的问题不同,但您可以在此时使用案例:

Insert into Tablename(name, age, personType) 
values(@name, @age, CASE WHEN @age > 18 THEN 'Adult' ELSE 'Minor' END)