在sp_executesql中使用like字句的方法
更新时间:2009年06月26日 17:53:37 作者:
在sp_executesql中可以执行参数化的sql,但是如果sql中有like,那么一般都要拼字符串,下面的例子把两者结合了起来,既有拼sql的灵活性,又有参数化sql的优点。
declare @LikeSql nvarchar(32);--定义一个like变量,如果是存储过程,此处可以存储过程的参数
set @LikeSql = ‘someword%';--把LikeSql变量赋值,可以赋值成'%xxxxxxxxxxxx%'
declare @SelectSql nvarchar(128)--定义Sql语句,开始拼Sql
set @SelectSql = ‘select * from Table where [Column] like @LikePar';—使用@LikePar变量进行参数化
exec sp_executesql @SelectSql ,N'@LikePar as varchar(32)',@LikePar = @LikeSql;--使用sp_executesql来执行
set @LikeSql = ‘someword%';--把LikeSql变量赋值,可以赋值成'%xxxxxxxxxxxx%'
declare @SelectSql nvarchar(128)--定义Sql语句,开始拼Sql
set @SelectSql = ‘select * from Table where [Column] like @LikePar';—使用@LikePar变量进行参数化
exec sp_executesql @SelectSql ,N'@LikePar as varchar(32)',@LikePar = @LikeSql;--使用sp_executesql来执行
相关文章
SQL Server误区30日谈 第7天 一个实例多个镜像和日志传送延迟
这个误区就有点老生常谈了。每一个主体服务器只允许一个镜像服务器。如果你希望存在多个主体服务器的副本,那么请使用事务日志传送,事务日志传送允许针对每一个主体存在多个辅助实例2013-01-01
SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER
SQL学习笔记八 索引,表连接,子查询,ROW_NUMBER,学习sqlserver的朋友可以看下。2011-08-08


最新评论