重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在sql中
在泽普等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、做网站 网站设计制作按需网站策划,公司网站建设,企业网站建设,高端网站设计,网络营销推广,外贸营销网站建设,泽普网站建设费用合理。
空值有NULL 和''的形式
当是NULL的时候用 IS NULL判断
当是''的时候用 =''判断
比如
select * from table where enddate IS NULL;
select * from table where str='';
你问题描述不完整,什么样的是高龄组,我就自己定义了,这个class的人员全部大于28(不含28)的为高龄组
创建表,数据:
create table t1
(class int,
age int);
insert into t1 values (1,21)
insert into t1 values (1,22)
insert into t1 values (1,23)
insert into t1 values (1,24)
insert into t1 values (2,27)
insert into t1 values (2,28)
insert into t1 values (2,29)
insert into t1 values (2,30)
insert into t1 values (3,31)
insert into t1 values (3,32)
insert into t1 values (3,33)
insert into t1 values (3,34)
create table t2
(class int,
组别 varchar(20))
insert into t2 values (1,null)
insert into t2 values (2,null)
insert into t2 values (3,null)
执行update语句:
update t2 set t2.组别=t3.组别
from t2,
(select a.class,case when a.cnts=b.cnts then '高龄组' when a.cntsb.cnts and b.cnts0 then '中龄组' when a.cntsisnull(b.cnts,0) and isnull(b.cnts,0)=0 then '低龄组' end 组别
from
(select class,COUNT(*) cnts from t1 group by class) a left join
(select class,COUNT(*) cnts from t1 where age=28 group by class) b
on a.class=b.class) t3
where t2.class=t3.class
更新后t2表结果:
MySQL:
在MySQL中使用FIND_IN_SET( st , str )函数来判断某个字符串是否包含某字符。其中,st表示需要判断的字符,str表示相应的字符串字段。如果包含,则返回st字符在字符串中的位置,以1为起点。如果不包含,则返回0;
SQLServer:
在SQLServer中使用CHARINDEX(','+ st +',' , ','+ str +',')函数来判断某个字符串是否包含某字符。其中,st表示需要判断的字符,str表示相应的字符串字段。如果包含,则返回st字符在字符串中的位置,以1为起点。如果不包含,则返回0;
注意:在SQLServer函数中,st必须为字符串,使用int则无效,如果是数字类型字符,必须使用双引号。