将列添加到SQL Server数据库中的表中,并使用cases设置默认值

将列添加到SQL Server数据库中的表中,并使用cases设置默认值,sql,sql-server,database,Sql,Sql Server,Database,我需要在表mair中添加一列IsDeleted,默认值为: 当像'%Engineering%'这样的主名称出现时为True,而在其他没有单词Engineering的表中添加列时为false: ALTER TABLE yourtable ADD IsDeleted bit ; 要检查MajorName并将IsDeleted设置为1或0,请使用触发器将其添加为(也称为虚拟列) 演示 需要将数据类型等位和默认值设置为返回值大小写值它可以正常工作,但数据类型字段为空字段您的意思是什么?在哪里?它就

我需要在表
mair
中添加一列
IsDeleted
,默认值为:
当像
'%Engineering%'
这样的主名称出现时为True,而在其他没有单词Engineering的表中添加列时为false:

ALTER TABLE yourtable ADD IsDeleted bit ;
要检查MajorName并将IsDeleted设置为1或0,请使用
触发器
将其添加为(也称为虚拟列)


演示



需要将数据类型等位和默认值设置为返回值大小写值它可以正常工作,但数据类型字段为空字段您的意思是什么?在哪里?它就像一个虚拟列,我需要该列有一个数据类型,并且可以随时更改值,而不是您正在寻找的解决方案。
alter table Major add IsDeleted as 
    cast (case when MajorName like '%Engineering%' then 1 else 0 end as bit)
create table Major (MajorName varchar (100))

alter table Major add IsDeleted as 
    cast (case when MajorName like '%Engineering%' then 1 else 0 end as bit)

insert into Major (MajorName) values 
    ('This is the Engineering department'),('Hello world')

select * from Major
+------------------------------------+-----------+
| MajorName                          | IsDeleted |
+------------------------------------+-----------+
| This is the Engineering department | 1         |
+------------------------------------+-----------+
| Hello world                        | 0         |
+------------------------------------+-----------+