我不知道为什么update()方法不适用于ORACLE数据库
deleteQuery = "delete from USBRPF where upper(userid) = upper(?)" ; String s= "ABC " ; getJdbcTemplate().update(deleteQuery, s.trim());
有一行USERID列有'ABC'数据('C'字符后面有一些空格)
似乎没有发现那一行。
但是,如果我将代码更改为以下代码,则可以使用
deleteQuery = "delete from USBRPF where upper(userid) like upper(?)" ; String s= "ABC " ; getJdbcTemplate().update(deleteQuery, s.trim() + "%");
或
deleteQuery = "delete from USBRPF where upper(trim(userid)) = upper(?)" ; String s= "ABC " ; getJdbcTemplate().update(deleteQuery, s.trim());
注意:所有与MSSQL数据库一起使用,数据从ORACLE迁移。 我猜数据库设置有问题。可能有人想出来吗?感谢
修改:
列信息:
ORACLE
BRANCH CHAR(2 CHAR)
COMPANY CHAR(1 CHAR)
DATIME TIMESTAMP(6)
JOBNM CHAR(10 CHAR)
UNIQUE_NUMBER NUMBER(18,0)
USERID CHAR(10 CHAR)
USRPRF CHAR(10 CHAR)
MSSQL
[UNIQUE_NUMBER] [bigint] IDENTITY(1,1) NOT NULL,
[USERID] [nchar](10) NULL,
[COMPANY] [nchar](1) NULL,
[BRANCH] [nchar](2) NULL,
[USRPRF] [nchar](10) NULL,
[JOBNM] [nchar](10) NULL,
[DATIME] [datetime2](6)> NULL,