报错

org.springframework.jdbc.UncategorizedSQLException: 
### Error querying database.  Cause: java.sql.SQLException: An identifier or literal is invalid
### The error may exist in file [/app/domain/user_projects/domains/base_domain/servers/VC/stage/visionlite/visionlite/WEB-INF/classes/com/worklite/service/statedata/resource/statedata.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select NVL(SUM(answer-"start"), 0) from call_state_info where answer is not null       and instid=?
### Cause: java.sql.SQLException: An identifier or literal is invalid
; uncategorized SQLException for SQL []; SQL state [99999]; error code [17133]; An identifier or literal is invalid; nested exception is java.sql.SQLException: An identifier or literal is invalid

sql语句单独拿出来执行不报错;但是项目一运行就会报错;

mybatis xml文件

<select id="getCustomWaitTime" resultType="long" databaseId="oracle">select NVL(SUM(answer-"start"), 0) from call_state_info where answer is         not null<if test="null!=instid and ''!=instid">and instid=#{instid}</if><if test="null!=custid and ''!=custid">and custid=#{custid}</if></select>

解决:给NVL(SUM(answer-"start"), 0)取别名;

 <select id="getCustomWaitTime" resultType="long" databaseId="oracle">select NVL(SUM(answer-"start"), 0) as waitTime from call_state_info where answer is not null<if test="null!=instid and ''!=instid">and instid=#{instid}</if><if test="null!=custid and ''!=custid">and custid=#{custid}</if>
</select>

错误原因好像是因为sum()函数计算的结果为null,但是NVL函数明明会处理这种情况;所以我也不知道为什么加了个别名就不报错了;

Oracle的表字段带有双引号,Mybatis报 An identifier or literal is invalid相关推荐

  1. oracle 测试数据类型,oracle修改表字段的数据类型测试

    oracle修改表字段的数据类型的测试 思路 将要更改类型的字段名改名新字段以备份: 根据需求,添加一个与要更改类型的字段名同名的字段(原字段已经改名), 然后更新数据, 最后删除改名备份的字段 脚本 ...

  2. oracle修改字段的默认,oracle系统默认的账号ORACLE修改表字段的数据类型

    ORACLE修改表字段的数据类型 项目需求变更,需要用到备用字段,开始以为是这样改表的: alter table tablename alter column colname newDataType ...

  3. oracle中定义表类型数据,oracle 定义表字段域的数据类型

    /****************************************************************************/ >oracle定义表字段域的数据类型 ...

  4. python处理字典中双引号_如何创建带有双引号作为默认引号格式的Python词典?

    如何创建带有双引号作为默认引号格式的Python词典? 我正在尝试创建一个python字典,该字典将用作html文件中的java脚本变量,以实现可视化目的. 作为必要条件,我需要创建所有名称都用双引号 ...

  5. 正则表达式匹配所有中文字符或者带有双引号的字符

    需求是统计工程里所有中文字符(中文注释除外),并且整理到word文档中.例如,工程里一个带有中文字符的文件如下: 统计结果: 如果中文字符串数量很少,我们完全可以手动一个一个统计,但如果数量很多,几百 ...

  6. mysql数据库表字段使用DESC等关键字报错及解决方法

    mysql数据库表字段使用DESC等关键字报错及解决方法 参考文章: (1)mysql数据库表字段使用DESC等关键字报错及解决方法 (2)https://www.cnblogs.com/li--xi ...

  7. Oracle SQL 单引号与双引号区别

    2019独角兽企业重金招聘Python工程师标准>>> 1.3 SQL 单引号与双引号 单引号: 表示字符串常量,并不区分大小写.. 字符串中的双引号仅仅被当作一个普通字符进行处理. ...

  8. oracle设置表字段小写,将oracle中的字段和表名全部修改为小写

    在创建表和表结构的时候,如果想要小写需要在名称上面添加双引号,如果不添加oracle数据库会默认识别为大写 1.将表名和字段名改为大写 批量将表名变为大写 begin for c in (select ...

  9. 解决表字段使用关键字导致Mybatis Generator生成代码异常的解决方案

    From: http://blog.itfsw.com/2017/05/23/jiejue-biao-ziduan-shiyong-guanjianzi-daozhi-mybatis-generato ...

最新文章

  1. 系统芯片(SOC)架构- Aviral Mittal
  2. Windows7防火墙服务无法启用怎么办
  3. 字符串截取固定长度的方法
  4. 专访阿里云MVP王俊杰:开发者的超能力是用技术让世界更美好
  5. 门锁了开不了_智能门锁不会突然没电 门锁突然没电怎么办?
  6. VSCode配置Python编辑器
  7. 如何使用React和Redux前端创建Rails项目
  8. 一道C#类型转换的思考题
  9. mysql locked myisam_MySql 事务 隔离级别 知识点
  10. linux系统教程vi命令详解,Linux操作系统vi命令详解及其使用技巧
  11. C++ Web编程实战
  12. 烽火fr2600怎么web登录_烽火配置教程
  13. python3_fake_User-Agent_创建UA伪装
  14. HDCP版权保护机制
  15. 从西洋跳棋开始机器学习
  16. windbg 常用命令
  17. 转载:KOF97简易出招原理解析
  18. 堆溢出-unlink
  19. kettle与MySQL数据库建立连接教程
  20. svg模糊图片局部清晰透视图

热门文章

  1. excel日期相减去除周末_在Excel中突出显示周末日期
  2. PowerShell脚本免杀/bypass/绕过杀毒软件
  3. AD19 编译报错:has only one pin 和 floating net label
  4. 海尔轰天雷t7linux转windowxp,XP改win7系统雨林木风详细教程
  5. ElementUI 图标字体无法正常显示 本地CDN文件
  6. 如何写毕业论文(个人心得,不是保姆级)
  7. 解决pip3 install waring ‘The script xxx is installed in ‘/home/xxx/bin‘ which is not on PATH‘
  8. AnyProxy抓包实践
  9. Android谷歌地图地理编码,谷歌地图API地理编码多个地点
  10. 第五章习题——C程序设计(第四版)