初到公司实习,让做一个网站,使用struts2+spring框架,数据库使用的是DB2,以前没接触过DB2,对它不了解。在写sql语句的时候遇到一些问题,首先就是在mysql下的limit到了DB2中需要改成fetch first 数字 rows only的形式。还有是在使用Spring的JdbcTemplate进行查询时sql语句占位符的问题,在where语句中使用"?"占位符是没有问题的,但是在这之外使用"?"占位符就会出现问题。

sql如下:

select USER_NAME,PIC_URL,COUNTY_NAME,STAR_RANK,NEW_BUSI_RANK,REDEEM_RANK,POPULAR_RANK
from TF_SERVSTAR_RANK_DETAIL as a,
TF_SERVSTAR_RACE_USER as b
where b.USER_TYPE = ? and a.BOSS_ID = B.BOSS_ID
order by ? desc
fetch first ? rows only

这样执行时会报错,提示占位符“?”是非法字符。在网上查了资料,说在where语句之外的地方需要使用类似 cast(? as varchar(8))的形式来显式的转换为指定类型,但是我给"limit"的整数使用 cast(? as integer)的形式时还是会报错。由于我对DB2不熟,也没找到解决的办法,最后只能使用拼接字符串的形式将整数传过去。

去到公司才知道自己在学校学的知识基本没用额,虽然自己也自学了ssh2等开源框架,但是由于平时练习的不够,很多知识都记不太清除了,导致我的开发速度很慢.....还有就是数据方面的知识,由于经验少,写的sql效率都不高,平时自己也只是用用mysql,去到公司发现都是使用的oracle和db2。希望在公司实习的这几个月能够提升自己的能力,就要毕业了,我选择了实习而不是培训,就是想到企业中去接触一下真实的项目开发流程,积累一些开发经验,所以越是困难的问题,我就应该越是认真的攻克它!

DB2中sql语句占位符问题相关推荐

  1. java sql in 占位符_Java中SQL语句占位符的使用

    使用占位符的好处 在SQL语句中使用?来代替具体的数值,可除去繁琐的字符串拼接操作,且可避免SQL注入的风险String sql="SELECT * FROM user_login WHER ...

  2. php mysql 占位符_PDO中预处理语句占位符的使用

    摘要:占位符在php程序中有着非常重要的作用,对数据安全也有着非常重要的意义,通过占位符我们可以有效验证传入参数的有效性,从而防止恶意的SQL注入攻击. 使用PDO时不使用预处理语句占位符也可以防止S ...

  3. python SQL语句 占位符

    今天在处理数据库中的数据是出现了一个错误,导致数据表格里的数据一直无法正常的通过python代码更新,现在解决了,主要问题还是sql语句中占位符出现的问题.现将解决的方法总结如下 # sql_upda ...

  4. java mysql 占位符_在Java中编写带占位符的SQL语句

    C#中SQL中带占位符的语句 假设有一张学员信息表Student,通过表中的ID来找学员,查询的SQL语句如下 string sql = string.Format("select * fr ...

  5. js中类似${xx,xxxy}的语句——${}占位符的使用 ``模板字符串的使用

    js中类似$ {xx,xxxy}的语句--${}占位符的使用 & ``模板字符串的使用 `` 是模板字符串,ES2015新增的符号. var x = 'a', y = 'b'; var z = ...

  6. mybatis多个参数(不使用@param注解情况下),sql参数占位符正确写法

    转载自  mybatis多个参数(不使用@param注解情况下),sql参数占位符正确写法 useActualParamName配置 useActualParamName 允许使用方法签名中的名称作为 ...

  7. Oracle JDBC中的PreparedStatement占位符过多

    使用Oracle数据库时,导致ORA-01745("无效的主机/绑定变量名称错误")错误的原因有多种. 关于错误ORA-01500到ORA-02098的Oracle 9i文档提供了 ...

  8. get占位符传多个参数_mybatis多个参数(不使用@param注解情况下),sql参数占位符正确写法...

    useActualParamName配置 useActualParamName 允许使用方法签名中的名称作为语句参数名称. 为了使用该特性,你的工程必须采用Java 8编译,并且加上-paramete ...

  9. Oracle数据库中SQL语句用法(一)

    Copyright © 2019 @Linyer. All Rights Reserved 下接Oracle数据库中SQL语句用法(二)[点击以查看] 目录 第1章:编写基本的SQL SELECT语句 ...

最新文章

  1. SpringBoot 注解方式快速整合Mybatis
  2. mysql 开启远程
  3. cropper.js 图像旋转问题_快速提高前端开发效率:10个JavaScript图像处理库
  4. 使用线程自己join自己完成线程门栓
  5. java学习(128):map类
  6. 模拟器不全屏_puNES 适用于 Windows 和 Linux 的开源 NES 模拟器
  7. Linux系统运行Windows程序(Linux执行windows程序)
  8. Oracle 查看表空间大小及其扩展
  9. 这款App因涉嫌传销被罚7456万:会员层级达51级 收取佣金4.5亿
  10. mongodb java 地理位置_MongoDB的地理位置索引
  11. HDU-1226 超级密码
  12. Visual Studio Code配置
  13. 局域网共享文件的方法,传输大文件比较快
  14. 标准误计算机excel公式,如何用excel或wps计算标准差、方差、标准误差?
  15. html表格ppt,HTML表格.ppt
  16. html canvas缩放抗锯齿,Html5 canvas drawImage:如何应用抗锯齿
  17. 怎么清理c盘语言文件,怎么清理c盘空间 c盘空间不足
  18. 孙悟空的师傅的真实身份
  19. 基于springboot实现疫情上报系统
  20. 雷电2接口_厉害!跟Type-C长得一毛一样的雷电3,原来区别这么大,别搞混了

热门文章

  1. BFS - 求最短路径
  2. Hadoop报错:could only be replicated to 0 nodes, instead of 1
  3. .net使用正则表达式校验、匹配字符工具类
  4. python中的编码问题 1
  5. symbian使用活动对象时返回-2147483647错误值的解决办法
  6. 【转】精华!图解局域网共享设置步骤 - 李小虎
  7. 金山词霸”屏幕取词技术揭密(讨论稿)
  8. Spring - Configuration Metadata
  9. 超长干货 | Kubernetes命名空间详解
  10. 智能编撰:使用神经网络协助编写电子邮件