找文章 / 找答案
精选问答 更多内容

[常用脚本] sql参数写法

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-23 19:31:27 |阅读模式 打印 上一主题 下一主题
1
已解决

【常用脚本】 sql参数写法

2335 4
最近再看文档,这里不太明白他说的意思,可以举个例子嘛?还有什么时候需要加“@”,我把select的字段设为参数动态的查出来也要加“@”,是除了where那别的在数据集写sql涉及参数都需要加“@”嘛,感谢呀
0323sql参数1.jpg 0323sql参数2.jpg

最佳答案

社区管理员
yanieye 关注Ta

2022-03-23 19:31:28

第一种方式,只能出现在where后面。 如果要改变其它子句,比如select/from/groupby,都需要用第二种。
查看完整内容
回复

使用道具 举报

精彩评论4

yanieye 显示全部楼层 发表于 2022-3-23 19:31:28
第一种方式,只能出现在where后面。 如果要改变其它子句,比如select/from/groupby,都需要用第二种。
回复

使用道具 举报

yanieye 显示全部楼层 发表于 2022-3-23 19:38:08
举个例子说:
1. 如果是用?{param2},比如SQL是select colA from tableA where colA = ?{param2}
    那么实际执行的创建PreparedStatement的SQL就是 select colA from tableA where colA = ?   之后在通过stmt.setObject的方式把param2的实际值设置进去。
2. 如果是?{@param2}的写法,比如比如SQL是select colA from tableA where colA = ?{@param2}  
那么就是直接替换,比如param2这个参数的值是'value1234'   那么创建PreparedStatement的SQL就是select colA from tableA where colA = 'value1234'   不会stmt.setObject的方式给这个参数赋值。
这是两个完全不同的用法。
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-23 19:51:02
yanieye 发表于 2022-3-23 19:38
举个例子说:
1. 如果是用?{param2},比如SQL是select colA from tableA where colA = ?{param2}
    那么 ...

嗯嗯,谢谢呀,那我实际用的时候,什么时候需要加上“@”呢
回复

使用道具 举报

yhdata_MB5fOVHS铂金四 显示全部楼层 发表于 2022-3-23 20:08:10
yanieye 发表于 2022-3-23 19:57
第一种方式,只能出现在where后面。 如果要改变其它子句,比如select/from/groupby,都需要用第二种。 ...

嗯嗯,太感谢了
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部