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

复制代码 代码如下:

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]

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐