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

2023年 4月 18日 17.1k 0

复制代码 代码如下: 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 yo

复制代码 代码如下: 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]

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论