
正文
sqlserver判断=,sqlserver判断空字符串
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
SQLServer 有SQL语句 怎么判断一列(很多可以为空的字段)值中有空值或者为NUll
在sql中
空值有NULL 和''的形式
当是NULL的时候用 IS NULL判断
当是''的时候用 =''判断
比如
select * from table where enddate IS NULL;
select * from table where str='';
相关问答
Q1: SQLserver 数据组内判断问题
你问题描述不完整,什么样的是高龄组,我就自己定义了,这个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表结果:
Q2: MySQL、SQLServer判断字符串是否包含某字符
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则无效,如果是数字类型字符,必须使用双引号。






