sql server 变量 字符串拼接

参考:SQL server中null+字符串,isnull以及把查询结果赋给一个字符变量组成另一个查询语句 

 1.开始定义的字符串都为null.例如:declare @sql,那么@sql就是null 如果后面要进行 变量字符串的变量拼接的话,最好是给@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 ,最后的逗号去掉了

 

转载于:https://www.cnblogs.com/wangjunwei/p/4047659.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值