sql server 变量 字符串拼接

参考: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 ,最后的逗号去掉了
时间: 2024-10-28 22:15:27

sql server 变量 字符串拼接的相关文章

【SQL】小心字符串拼接导致长度爆表

原文:[SQL]小心字符串拼接导致长度爆表 请看代码: DECLARE @max VARCHAR(max) SET @max='aaa...' --这里有8000个a +'bb' --连接一个varchar常量或变量 SELECT LEN(@max) 别想当然以为它会返回8002,而是8000,select @max也只会得到8000个a,后面两个b没了.我们知道,varchar(max)类型不受字符数限制,但为什么会这样? 这其实与@max的数据类型无关,而是与字符串拼接后得到的数据类型有关,

delphi连接sql server的字符串2011-10-11 16:07

delphi连接sql server的字符串2011-10-11 16:07 一.delphi连接sql server 放一个连接组件 ADOConnection, 其它组件TADODataSet,TADOQuery等的connection指向ADOConnection就可以了. 你可以双击ADOConnection,使用它的向导.也可以使用下面的代码 function OpenADOConn:boolean; begin result:=false; try with ADOConnectio

MS SQL Server 数据库连接字符串

MS SQL Server 数据库连接字符串详解 C# 连接串设置超时时间 SqlConnection.ConnectionTimeout 与 SqlCommand.CommandTimeout 及SqlBulkCopy.BulkCopyTimeout属性 https://msdn.microsoft.com/zh-cn/library/8xx3tyca.aspx  SQL Server 连接池 (ADO.NET) http://www.docin.com/p-576271306.html 4.

.NET SQL Server连接字符串句法

.NET SQL Server连接字符串句法 数据库的连接性已经发展成为应用程序开发的一个标准方面.数据库连接字符串现在已经成为每个项目的标准必备条件.我发现自己为了找到所需要的句法,经常要从另外一个应用程序中复制连接字符串或者进行一次搜索.这个在与SQL Server交互操作时更是如此,因为它有太多的连接字符串选项.现在就让我们来研究一下连接字符串的众多方面. 连接字符串 在对象实例化或者建立期间,数据库连接字符串通过属性或方法被传递到必要的对象.连接字符串的格式是一个以分号为界,划分键/值参

SQL Server 连接字符串和身份验证

SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.         PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;.....同样,连接字符串必须包含SQL Server实例名称:         Data Source=ServerName;         使用本地的SQL Server(localhost),如果想要使用远程服

SQL Server数据库连接字符串的组成

DB驱动程序常见的驱动程序如下: ODBC   ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用SQL来完成其大部分任务.ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC. OLE DB   OLE DB 是 Micr

SQL Server 连接字符串和身份验证 学习

SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开.          PropertyName1=Value1;PropertyName2=Value2;PropertyName3=Value3;.....同样,连接字符串必须包含SQL Server实例名称:          Data Source=ServerName;          使用本地的SQL Server(localhost),如果想要使用

SQL Server连接字符串

//windows身份验证1 //string strCon = @"Data Source=.\sqlexpress;Initial Catalog=db1;Integrated Security=True;Pooling=False"; //windows身份验证2 //string strCon = @"server=.\sqlexpress;database=db1;Integrated Security=True;"; //Sql Server身份验证1

sql server常用字符串函数

--返回字符表达式中最左侧字符的ASCII代码值 select ASCII('a')--97 select ASCII('A')--65 select ASCII('aA')--97 --将整数ASCII代码转换为字符 select CHAR(97)--a select CHAR(65)--A select CHAR('65')--A SELECT CHAR('A')--在将 varchar 值 'A' 转换成数据类型 int 时失败. --返回字符表达式最左侧指定数目的字符串 select L