標籤:style blog http color os ar 使用 for sp
參考:SQL server中null+字串,isnull以及把查詢結果賦給一個字元變數組成另一個查詢語句
1.開始定義的字串都為null.例如:declare @sql
需求:在一個遊標內 迴圈擷取手機號的字串進行拼接。但是一直拼接不成功
declare @dhhm as varchar(2000) --定義了變數電話號碼 如果不給它賦值的則為null,後面字串拼接的時候就會報錯 declare @rcount as int --定義變數數量!!!!!!!!!!!!!! set @rcount=0 --這裡必須給變數賦值為0 否則就是null後面 無法++!!!!!!!! DECLARE @mobilnumber nvarchar(2000) DECLARE MyCursor1 CURSOR --定義遊標 FOR select mobilephone from sys_user where fullname in (select * from f_splitSTR(‘system,楊銀‘,‘,‘)) OPEN MyCursor1 --開啟遊標 FETCH NEXT FROM MyCursor1 INTO @mobilnumber --print (‘遊標開始尋找資料‘) print (‘foreach的狀態‘+convert(varchar(200),@@fetch_status)) while(@@fetch_status=0) BEGIN set @dhhm = isnull(@dhhm,‘‘)+@mobilnumber+‘,‘ --這裡使用了isnull方法判斷變數@dhhm的值 如果為null則賦值為空白字串,這樣就不會引起 字串拼接的錯誤了.
--如果這裡不想用isnull的話,在@dhhm,定義變數後,要給 @dhhm賦值為空白即可,如:set @dhhm=‘‘
set @rcount = @rcount+1 FETCH NEXT FROM MyCursor1 INTO @mobilnumber END --關閉遊標 CLOSE MyCursor1 --釋放資源 DEALLOCATE MyCursor1 print @dhhm print (‘簡訊數量‘+convert(varchar(20),@rcount))
sql中字串的截取:http://www.cnblogs.com/yeminglong/archive/2011/10/15/2212967.html
declare @id as varchar(50)set @id=‘123456,‘select SUBSTRING(@id,0,Len(@id))
返回結果 123456 ,最後的逗號去掉了
sql server 變數 字串拼接