zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

sqlserver字符串非空判断实现方法

SQLServer方法 实现 字符串 判断 非空
2023-06-13 09:14:42 时间
复制代码代码如下:

CREATEfunctiongetcolor
(@井号varchar(50),@层位varchar(50))
returnsvarchar(200)
as
begin
declare@sqlvarchar(2000);set@sql=""
--distinct
select@sql=@sql+颜色+","from(
selectdistinct颜色fromyourtablenamewhere
井号=@井号and层位=@层位and颜色isnotnull
)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@sqlisnotnullandlen(@sql)>=1
set@sql=substring(@sql,1,len(@sql)-1)
else
...

复制代码代码如下:


if(@sqlisnotnull)
set@sql=substring(@sql,1,len(@sql)-1)
return@sql


复制代码代码如下:
ifisnull(@sql,"")<>""
set@sql=substring(@sql,1,len(@sql)-1)


"select*fromdbwhereimgisnotnull"这个是选择所有的img不为空的内容
"select*fromdbwhereimgisnull"这个是选择所有的img为空的内容

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