exec sp_executesql 如何拼装语句
我直接用 如下sql语句运行成功查到理想数据
exec sp_executesql N'Select * FROM FC_Repair WHERE
F_RepairDepartmentId in
(
''ace7f0e7-f158-4587-920d-e76546885198'',''bf421a22-786b-40fd-8afc-c3e5e2364901''
) '
修改为参数式后,查不到数据,请问如果修改下面的sql语句。
这是用dapper DynamicParameters动态参数查询后生成的sql语句,所以在不动原有sql格式的前提下,找到一个更优解呢?
exec sp_executesql N'Select * FROM FC_Repair WHERE
F_RepairDepartmentId in
(
@F_RepairDepartmentId0
) ',
N'@F_RepairDepartmentId0 nvarchar(4000)',
@F_RepairDepartmentId0=
N'''ace7f0e7-f158-4587-920d-e76546885198'',''bf421a22-786b-40fd-8afc-c3e5e2364901'' '
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这种 IN中的语句确实不能像你那样写,无论如何
@F_RepairDepartmentId0
都被解释为 单独一个 字符串。对于IN, 需要改成字符串拼接sql的形式,如下面这样: