编写存储过程时,出现“转换成数据类型 int 时失败”错误的解决方法
2013-08-07 19:31
716 查看
出现该问天一般都是sql语句拼接的错误,现在给出别人总结好的编写方法。
--先看一下正常的语句 SELECT * FROM tablename WHERE fieldname LIKE '%test' ORDER BY FId --如果想把上面的语句放到字符串中再用exec执行,步骤如下 --#1.把SQL中的'全部替换成'' SELECT * FROM tablename WHERE fieldname LIKE ''%test'' ORDER BY FId --#2.放到变量中 DECLARE @sql NVARCHAR(max) SET @sql = 'SELECT * FROM tablename WHERE fieldname LIKE ''%test'' ORDER BY FId' --#3.替换参数(注意替换的参数必须都是字符类型),替换时直接: '+ @变量名 +',如果变量不是字符型,则转换成字符型(RTRIM(@变量名)或CAST或CONVERT) DECLARE @变量名 NVARCHAR(10) SET @变量名 = 'test' SET @sql = 'SELECT * FROM tablename WHERE fieldname LIKE ''%'+ @变量名 +''' ORDER BY FId' PRINT @sql
相关文章推荐
- 将VARCHAR值""转换为数据类型为"int"的列时发生语法错误!的解决方法
- 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
- sql 将 varchar 值转换为数据类型为 int 的列时发生语法错误 的解决办法
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法
- 类语句.NET下编译C++代码时出现"error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int"错误的解决方法。
- (SQL)将 expression 转换为数据类型 int 时发生算术溢出错误 2种快速处理方法
- 将 expression 转换为数据类型 int 时出现算术溢出错误。
- expression 转换为数据类型 int 时出现算术溢出错误
- 将expression转换为数据类型int时发生算术溢出错误 解决
- 【Flex】Flex装载多个Module时,出现“TypeError: Error #1034: 强制转换类型失败”的解决方法
- 解决SQL将varchar值转换为数据类型为int的列时发生语法错误
- MSSQL 错误:在将 varchar 值 '1,2,3,5,6' 转换成数据类型 int 时失败。
- sql in(1,2,3)参数化查询,错误在将 varchar 值 '1,2,3,4' 转换成数据类型 int 时失败
- 在MsSql中将 varchar 值 '1,2,3,4,5,6' 转换成数据类型 int 时失败。解决办法
- 存储过程传递参数时出现类型转换错误!如:varchar转换为int时出错
- 解决SQL将varchar值转换为数据类型为int的列时发生语法错误
- 解决SQL将varchar值转换为数据类型为int的列时发生语法错误
- 将 IDENTITY 转换为数据类型 int 时出现算术溢出错误。
- 存储过程里出错:在将 nvarchar 值 'MAX' 转换成数据类型 smallint 时失败, 的终极解决方法
- 将 expression 转换为数据类型 int 时出现算术溢出错误