我有下表:
create table INTERNATIONALIZATION (
ID number not null unique,
LANG char(2) not null,
EXT_ID number not null,
EXT_COLUMN char(32) not null,
EXT_NAME char(32) not null,
TRANS_VAL nvarchar2(512) not null
);
public Optional<String> getTranslation(long idSkill, Locale lang, String extColumn, String extName) {
try {
return Optional.of(jdbcTemplate.queryForObject("select TRANS_VAL from INTERNATIONALIZATION where ext_id = ? and lang = ? and ext_column = ? and ext_name = ?", String.class, idSkill, lang.toLanguageTag(), extColumn, extName));
} catch (IncorrectResultSizeDataAccessException ex) {
return Optional.empty();
}
}
您可能需要验证传递给查询的参数。它们可能与您在Oracle SQL Developer中使用的不同。
为了调试,在捕获异常时,打印所使用的值。
try {
return Optional.of(jdbcTemplate.queryForObject("select TRANS_VAL from INTERNATIONALIZATION where ext_id = ? and lang = ? and ext_column = ? and ext_name = ?", String.class, idSkill, lang.toLanguageTag(), extColumn, extName));
} catch (IncorrectResultSizeDataAccessException ex) {
return Optional.empty();
// print idSkill, lang.toLanguageTag(), extColumn, extName here
}
另外,由于使用的是CHAR列,所以在比较时必须注意填充的空格。当您使用绑定变量时,将char与varchar进行比较时可能会出现问题。
Table created.
SQL> insert into t1 values ('A');
1 row created.
SQL> commit;
Commit complete.
SQL> select count(*) from t1 where c1 = 'A';
COUNT(*)
----------
1
SQL> select count(*) from t1 where c1 = 'A ';
COUNT(*)
----------
1
SQL> select '<'|| c1 || '>' from t1;
'<'||C1
-------
<A >
SQL> var s varchar2(5)
SQL> exec :s := 'A' ;
PL/SQL procedure successfully completed.
SQL> select count(*) from t1 where c1 = :s;
COUNT(*)
----------
0
数据必须相等(5个特征--一个字母,4个空格):
SQL> exec :s :='A '
PL/SQL procedure successfully completed.
SQL> select count(*) from t1 where c1 = :s;
COUNT(*)
----------
1
这只是一个提示,但我认为您最好使用varchar2列:
create table INTERNATIONALIZATION (
ID number not null unique,
LANG varchar2(2) not null,
EXT_ID number not null,
EXT_COLUMN varchar2(32) not null,
EXT_NAME varchar2(32) not null,
TRANS_VAL nvarchar2(512) not null
);
我知道我们可以直接从左连接实现它,但由于一些限制,我们使用交叉连接,所以我需要走这条路... 请分享您的想法,欢迎提出建议 更新1我们没有使用关联,这就是为什么我们严格交叉连接。
我使用Laravel查询生成器来获取一组行,按2列排序,然后(以前为)。然而,结果按(正确)对它们进行排序,但是(或)的次要顺序是不正确的。我是不是搞错了,是不是搞错了? 以下是我的问题: 这反过来又返回: 你看,14号票的顺序是71,75,72,而不是71,72,75。 以下是表格结构:
我有这个问题。将其从sql查询转换为hql。我有以下错误“意外标记:(靠近第2行第列)” 我不知道怎么了
我需要制作一个Jar来格式化Access数据库中的电话号码,并为此使用了UcanAccess,所有查询都可以正常工作,直到我需要用格式化的电话号码更新数据库列。 正如其他文章中所建议的那样,我尝试使用括号,格式化的电话号码被自己存储在ArrayList中,然后我尝试用update语句添加。如果有什么不清楚的,我会努力提供进一步的信息。 我将非常感谢任何想法
问题内容: 我创建了一个小测试应用程序来跟踪我在Heroku上使用Postgres遇到的问题:http : //snippi.com/s/xd511rf 正如您在第 49 行中看到的那样,我想检索 今天 创建的所有条目。这将是我使用Ruby Gem DataMapper进行的 测试数据的前两项。 当我在笔记本电脑(Ubuntu 12.10,HP,Ruby 1.9.3)上运行此应用程序时,一切都会得
我有一个查询,其中我正在连接两个表ROuteMaster和routeHalts。当我执行内部连接时,我会得到 我在网站上搜索,发现了类似的问题和对它的回应。所提到的问题是 我在RouteHalts中为RouteMaster定义了多对一映射,我在RouteHalts中为RouteMaster定义了getter和setter方法 但仍然得到相同的错误。能请一个人给我指路吗。 映射文件 公共类Route