阅读this官方文档:
对于未在查询中明确命名的列,最好是 使用列号。如果使用列名,程序员应该 注意保证他们唯一地提到预期的 列,可以通过SQL AS子句得到保证。
查询中未明确命名的列是什么? 这对他们意味着什么?
谢谢,
确实是它
答案 0 :(得分:1)
计算/表达式的列具有任意名称,例如
select max(salary) from employee
如果您检查了JDBC列名称,它通常被称为与表达式相同 - 即在行集中,该列可能被称为“max(salary)”,但它是特定于数据库且不可靠的。
您有两种选择:
rowset.get(1)
即
select max(salary) as max_salary from employee
我更喜欢第二种选择 - 它更不容易理解。
答案 1 :(得分:0)
如count(*)
之类的列或lower()
之类的函数结果未在查询中明确命名。
答案 2 :(得分:0)
如果你有
select count(*) from employees // query 1
现在除非你做
,否则你不能使用rs.getString(columnLabel)
选择count(*)作为员工总数
rs.getString("total Number") unless you do
因此使用
是有意义的 getString(int columnIndex) with query 1 instead of rs.getString(columnLabel)
以上示例下面的句子完全有道理
对于未在查询中明确命名的列,最好是 使用列号。如果使用列名,程序员应该 注意保证他们唯一地提到预期的 列,可以通过SQL AS子句得到保证。