Oracle的表字段带有双引号,Mybatis报 An identifier or literal is invalid
报错
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相关推荐
- oracle 测试数据类型,oracle修改表字段的数据类型测试
oracle修改表字段的数据类型的测试 思路 将要更改类型的字段名改名新字段以备份: 根据需求,添加一个与要更改类型的字段名同名的字段(原字段已经改名), 然后更新数据, 最后删除改名备份的字段 脚本 ...
- oracle修改字段的默认,oracle系统默认的账号ORACLE修改表字段的数据类型
ORACLE修改表字段的数据类型 项目需求变更,需要用到备用字段,开始以为是这样改表的: alter table tablename alter column colname newDataType ...
- oracle中定义表类型数据,oracle 定义表字段域的数据类型
/****************************************************************************/ >oracle定义表字段域的数据类型 ...
- python处理字典中双引号_如何创建带有双引号作为默认引号格式的Python词典?
如何创建带有双引号作为默认引号格式的Python词典? 我正在尝试创建一个python字典,该字典将用作html文件中的java脚本变量,以实现可视化目的. 作为必要条件,我需要创建所有名称都用双引号 ...
- 正则表达式匹配所有中文字符或者带有双引号的字符
需求是统计工程里所有中文字符(中文注释除外),并且整理到word文档中.例如,工程里一个带有中文字符的文件如下: 统计结果: 如果中文字符串数量很少,我们完全可以手动一个一个统计,但如果数量很多,几百 ...
- mysql数据库表字段使用DESC等关键字报错及解决方法
mysql数据库表字段使用DESC等关键字报错及解决方法 参考文章: (1)mysql数据库表字段使用DESC等关键字报错及解决方法 (2)https://www.cnblogs.com/li--xi ...
- Oracle SQL 单引号与双引号区别
2019独角兽企业重金招聘Python工程师标准>>> 1.3 SQL 单引号与双引号 单引号: 表示字符串常量,并不区分大小写.. 字符串中的双引号仅仅被当作一个普通字符进行处理. ...
- oracle设置表字段小写,将oracle中的字段和表名全部修改为小写
在创建表和表结构的时候,如果想要小写需要在名称上面添加双引号,如果不添加oracle数据库会默认识别为大写 1.将表名和字段名改为大写 批量将表名变为大写 begin for c in (select ...
- 解决表字段使用关键字导致Mybatis Generator生成代码异常的解决方案
From: http://blog.itfsw.com/2017/05/23/jiejue-biao-ziduan-shiyong-guanjianzi-daozhi-mybatis-generato ...
最新文章
- 系统芯片(SOC)架构- Aviral Mittal
- Windows7防火墙服务无法启用怎么办
- 字符串截取固定长度的方法
- 专访阿里云MVP王俊杰:开发者的超能力是用技术让世界更美好
- 门锁了开不了_智能门锁不会突然没电 门锁突然没电怎么办?
- VSCode配置Python编辑器
- 如何使用React和Redux前端创建Rails项目
- 一道C#类型转换的思考题
- mysql locked myisam_MySql 事务 隔离级别 知识点
- linux系统教程vi命令详解,Linux操作系统vi命令详解及其使用技巧
- C++ Web编程实战
- 烽火fr2600怎么web登录_烽火配置教程
- python3_fake_User-Agent_创建UA伪装
- HDCP版权保护机制
- 从西洋跳棋开始机器学习
- windbg 常用命令
- 转载:KOF97简易出招原理解析
- 堆溢出-unlink
- kettle与MySQL数据库建立连接教程
- svg模糊图片局部清晰透视图
热门文章
- excel日期相减去除周末_在Excel中突出显示周末日期
- PowerShell脚本免杀/bypass/绕过杀毒软件
- AD19 编译报错:has only one pin 和 floating net label
- 海尔轰天雷t7linux转windowxp,XP改win7系统雨林木风详细教程
- ElementUI 图标字体无法正常显示 本地CDN文件
- 如何写毕业论文(个人心得,不是保姆级)
- 解决pip3 install waring ‘The script xxx is installed in ‘/home/xxx/bin‘ which is not on PATH‘
- AnyProxy抓包实践
- Android谷歌地图地理编码,谷歌地图API地理编码多个地点
- 第五章习题——C程序设计(第四版)