sql server字符串非空判断实现方法
(编辑:jimmy 日期: 2024/11/14 浏览:3 次 )
复制代码 代码如下:
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]
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]
下一篇:使SQL用户只能看到自己拥有权限的库(图文教程)