0 0

sp_executesql 执行like 的问题3

exec sp_executesql N'SELECT * FROM PAGE_T WHERE PAGENAME like @pagename',N'@pagename char(52)',@pagename='%管理%'
这句话是通过sql2005跟踪而来的,在数据库中执行不出结果,但是使用
SELECT * FROM PAGE_T WHERE PAGENAME like '%管理%' 却可以查出结果
请问这个是为什么?
为什么sql2005 要用sp_executesql来执行like

问题补充:
283433775 写道
你想啊。
SELECT * FROM PAGE_T WHERE PAGENAME like '%管理%' 

这句 有单引号吧

如果你以@pagename='%管理%' 传入了,单引号呢?没了吧。主要是单引号问题。你可以设置一下QUOTE为off ,然后用双引号写语句


我自己发现问题了,主要是框架上我没有严格按照数据类型来。应该是varchar的我全在框架里用了char。没什么问题了现在。谢谢了
2010年7月17日 22:21

1个答案 按时间排序 按投票排序

0 0

采纳的答案

你想啊。

SELECT * FROM PAGE_T WHERE PAGENAME like '%管理%' 

这句 有单引号吧

如果你以@pagename='%管理%' 传入了,单引号呢?没了吧。主要是单引号问题。你可以设置一下QUOTE为off ,然后用双引号写语句

2010年7月19日 08:45

相关推荐

    在sp_executesql中使用like字句的方法

    通过这种方式,我们既可以利用`LIKE`的灵活性(比如动态改变匹配模式),又能够避免字符串拼接带来的安全问题和性能损失,因为`sp_executesql`能够理解参数化的SQL。 **注意事项**: - 动态SQL语句的长度不应超过...

    sp_executesql 使用复杂的Unicode 表达式错误的解决方法

    在SQL Server中,`sp_executesql`是一个存储过程,用于执行动态生成的Transact-SQL语句。这个过程在处理动态SQL时非常有用,尤其是当你需要根据运行时的条件来构建查询时。然而,当你试图使用复杂的Unicode表达式,...

    SQLServer Top语句参数化方法

    然而,如果查询中还包含其他动态条件,比如`LIKE`操作,我们就需要使用`sp_executesql`存储过程来执行参数化的SQL。下面是一个包含`LIKE`操作的例子: ```sql DECLARE @TopCount INT DECLARE @Title NVARCHAR(100) ...

    SQL示例大全 V1.0

    4. **使用sp_executesql执行动态SQL** ```sql DECLARE @IntVariable INT; DECLARE @SQLString NVARCHAR(500); DECLARE @ParmDefinition NVARCHAR(500); /* 构建SQL字符串 */ SET @SQLString = N'SELECT ...

    SQL示例大全.pdf

    然后,通过 `sp_executesql` 来执行这个 SQL 语句,并传递参数值。 **3.2 输出参数** `sp_executesql` 还支持输出参数,可以用来获取查询结果集之外的信息。例如,下面的示例展示了如何使用输出参数 `@max_title` ...

    MSSQL中组合查询和分页查询

    在存储过程中实现组合查询,你可以通过条件判断来构造SQL语句,然后使用`sp_executesql`系统存储过程执行动态SQL。不过,需要注意的是,当涉及到字符串参数时,需要正确处理引号问题。 在给出的存储过程示例中,...

    sqlserver 全库查找存储过程

    EXEC sp_executesql @sql; END; ``` 这个存储过程会查询所有用户数据库中的存储过程,返回每个存储过程的完整路径和类型描述。 "全文检索"和"全库查找"标签提示我们,除了查找存储过程,可能还需要实现对存储过程...

    导入多个文件至SQL SERVER数据库(亲测可用)

    然后,通过`sp_executesql`执行这个SQL字符串,从而一次性导入所有文件。 在使用这个存储过程前,确保你已经在SQL SERVER 2000中创建了`DataTable`表,并且文件路径和文件名符合参数`@folderPath`和`@fileName...

    SQL存储过程自动生成流水

    - 使用 `sp_executesql` 执行动态 SQL。 - 如果找到序列号,则在此基础上加1;如果未找到,则设置为 `0001`。 - 最后返回拼接后的流水号。 #### 2. 自动流水号函数 `f_NextBH` 除了存储过程外,还可以使用函数来...

    查看MSSQL数据库每个表占用的空间大小.pdf

    EXEC sp_executesql N'INSERT INTO tablespaceinfo EXEC sp_spaceused @tbname', N'@tbname VARCHAR(255)', @tbname = @tablename FETCH NEXT FROM Info_cursor INTO @tablename END -- 关闭并释放游标 CLOSE ...

    SQLServer数据库实用语法

    这里使用了 `sp_executesql` 动态执行 SQL 语句。 **2. 调用存储过程** 例如,调用存储过程 `s_Table_SearchInfo` 查询名为 `StuInfo` 的表的信息。 ```sql EXEC s_Table_SearchInfo 'StuInfo'; ``` #### 二、...

    SQL查表大小语句

    execute sp_executesql N'insert into tablespaceinfo exec sp_spaceused @tbname', N'@tbname varchar(255)', @tbname = @tablename ``` 6. **更新空间使用情况**: ```sql sp_spaceused @updateusage = '...

    sqlserver 全库查找存储过程(数值型)

    4. **构建和执行动态SQL**:根据搜索结果,构造SQL语句来执行实际的查找,这可能包括`EXEC`或`sp_executesql`。 在实际应用中,可能会使用`LIKE`或正则表达式来匹配数值型标识符,并结合`PATINDEX`函数来定位。需要...

    利用SqlServer内部存储过程实现快速方便的分页.txt

    EXECUTE sp_executesql @tempSQL, N'@PageSize INT, @Page INT', @PageSize, @Page; END; ``` #### 四、总结 通过上述内容的学习,我们可以看到利用 SqlServer 的内部存储过程来实现分页功能不仅简单快捷,而且...

    Transact_SQL小手册

    它基于标准的SQL语言,并增加了许多额外的功能,使得在SQL Server中执行复杂的事务处理和数据操作变得更加容易。 ### T-SQL核心操作 #### 数据查询 (SELECT) - **基本语法**:`SELECT column_name(s) FROM table_...

    查看MSSQL数据库每个表占用的空间大小 .txt

    EXECUTE sp_executesql N'INSERT INTO tablespaceinfo EXEC sp_spaceused @tbname', N'@tbname NVARCHAR(255)', @tbname = @tablename; END; FETCH NEXT FROM Info_cursor INTO @tablename; END; CLOSE Info_...

    存储过程分页

    - 使用`sp_executesql`执行动态构建的SQL语句`@sqlstr1`来获取符合条件的产品总数,并将结果赋值给输出参数`@rdcount`。 - 根据计算出的`@startIndex`和`@endIndex`再次执行动态SQL语句`@sqlstr`来获取指定范围内...

    全库模糊查询

    - 使用 `sp_executesql` 执行动态SQL,并获取结果数量。 - 如果结果数量大于0,则打印相关信息。 ##### 6. 游标关闭与释放 ```sql close MyCursor deallocate MyCursor ``` 确保游标资源被正确释放。 #### 五、...

    在sqlserver2008r2版本中实现正则表达式

    例如,你可以通过`sp_executesql`调用该存储过程来执行正则表达式操作。不过,由于没有具体的`sql_xp_regular`存储过程的详细信息,这里只是假设存在这样一个功能。 3. **第三方工具和库** 有一些第三方工具和库,...

Global site tag (gtag.js) - Google Analytics