阅读这份官方文档:
对于查询中未明确命名的列,最好使用列号。如果使用列名,程序员应该注意保证它们唯一地引用预期的列,这可以通过 SQL AS 子句来保证。
查询中未明确命名的列是什么?他们是什么意思?
谢谢,
它的确是
计算/表达式的列具有任意名称,例如
select max(salary) from employee
如果您检查了 JDBC 列名,它通常被称为与表达式相同的名称 - 即在行集中,该列可能按字面意思称为“max(salary)”,但它是特定于数据库且不可靠的。
你有两个选择:
rowset.get(1)
IE
select max(salary) as max_salary from employee
我更喜欢第二种选择——它不那么脆弱,更容易理解。
它的列count(*)
或类似的函数结果lower()
未在查询中明确命名。
如果你有
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 子句来保证。