2012飞

just do it,believe yourself. 努力和汗水成就梦想
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL 拼接字符串(字符串中有变量) 转载的

Posted on 2015-02-01 16:13  2012飞  阅读(3632)  评论(0编辑  收藏  举报

http://blog.csdn.net/sikaiyuan2008/article/details/7848926

SQL SERVER拼接字符串(字符串中有变量)  总是忘记规律,转载过来以帮助记忆。

一、拼接字符串(整个字符串不分割)步骤:

首先在字符串的前后加单引号;

字符串中的变量以'''+@para+'''在字符串中表示;

若在执行时存在类型转换错误,则应用相应的类型转换函数,对变量进行类型转换(如cast()函数)。

示例均采用northwind数据库。

示例一:

包含SQL拼接字符串的存储过程:

Create Procedure Test
 @TestID  int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='''+cast(@TestID as varchar)+''''
print @s
exec(@s)

执行:

exec  Test  @TestID=1

执行结果:

 

二、拼接字符串(字符串分割)步骤:

将不包含变量的字符串前后用单引号括起来,

不含变量的字符串与变量用+进行拼接

变量用''''+@para+''''进行表示(@para为变量名);

若执行存储过程时出现类型转换错误,则采用相应的类型转换函数进行转换。

示例采用northwind数据库。

示例二:

包含SQL 字符串的存储过程:

Create Procedure Test
 @TestID  int
As
Declare @s nvarchar(800)
Set @s='Select * From dbo.Categories where CategoryID='+''''+cast(@TestID as varchar)+''''

print @s
exec(@s)

执行:

exec  Test  @TestID=1

执行结果: