我在MySQL中有一个小写单词表,我希望得到一个随机单词。这是我使用的查询,它在MySQL和Java中都可以正常工作:
select word from words order by rand() limit 1
但是,我也希望将单词作为大写字符串。我试过这个:
select upper(word) from words order by rand() limit 1
它在MySQL Workbench中完美运行,但是当我在Java中使用resultSet.getString("word")
时会引发异常:
SQL Exception: Column 'word' not found.
为什么会发生这种情况,我该如何解决?我可以在Java中将其转换为大写但我想知道为什么会发生这种情况。
答案 0 :(得分:1)
哦,我明白了。
在结果集中,列名称现在为upper(word)
而不是word
。
所以我要么将查询更改为:
select upper(word) as `word` from words order by rand() limit 1
或者将我的Java代码更改为:
resultSet.getString("upper(word)")