服务器之家

服务器之家 > 正文

sql server字符串非空判断实现方法

时间:2019-12-26 14:55     来源/作者:MSSQL教程网

代码如下:


CREATE function getcolor 
(@井号 varchar(50),@层位 varchar(50)) 
returns varchar(200) 
as 
begin 
declare @sql varchar(2000);set @sql='' 
--distinct 
select @sql=@sql+ 颜色+',' from ( 
select distinct 颜色 from yourtablename where 
井号=@井号 and 层位=@层位 and 颜色 is not null 
) aa 
set @sql=substring(@sql,1,len(@sql)-1) 
return @sql 
end 



我发现set @sql=substring(@sql,1,len(@sql)-1)这句有的时候会报错,原因是@sql在用substring的时候,有时候会为空字符串 

请问在函数中,如何在substring之前判断下@sql是否为空? 

if @sql is not null and len(@sql) >= 1 
set @sql=substring(@sql,1,len(@sql)-1) 
else 
... 

复制代码代码如下:



if(@sql is not null) 
set @sql=substring(@sql,1,len(@sql)-1) 
return @sql 

 

复制代码代码如下:


if isnull(@sql,'')<>'' 
set @sql=substring(@sql,1,len(@sql)-1) 



"select * from db where img is not null"这个是选择所有的img不为空的内容 
"select * from db where img is null"这个是选择所有的img为空的内容 

如果要让SQL判断值为空时默认一个值则可以用这样用 
SELECT top 1 isnull(Yu_Yse_Commodity_KD,0) FROM [Yu_Records]

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部