首页 > 资讯列表 > 编程/数据库 >> 数据库操作教程

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

数据库操作教程 2022-09-23 16:51:26 转载来源: 网络整理/侵权必删

复制代码代码如下:CREATEfunctiongetcolor(@井号varchar(50),@层位varchar(50))returnsvarchar(200)asbegindeclare@sqlvarchar(2000);set@sql=''--distinctselect@sql=@sql+颜色+','from(selectdistinct颜色fromyourtablenamewhere井号=@井号and层位=@层位and颜色isnotnull)aaset@sql=substring(@sql,1,len(@sql)-1)return@sqlend我发现set@sql=substring(@sql,1,len(@sql)-1)这句有的时候会报错,原因是@sql在用substring的时候,有时候会为空字符串请问在函数中,如何在substring之前判断下@sql是否为空?if@sqlisnotnullandlen(@sql)>=1set@sql=substring(@sql,1,len(@sql)-1)else.

复制代码 代码如下:

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]

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


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持