程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> sql server字符串非空判斷實現方法

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]

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved