0

阅读这份官方文档:

对于查询中未明确命名的列,最好使用列号。如果使用列名,程序员应该注意保证它们唯一地引用预期的列,这可以通过 SQL AS 子句来保证。

查询中未明确命名的列是什么?他们是什么意思?

谢谢,

它的确是

4

3 回答 3

1

计算/表达式的列具有任意名称,例如

select max(salary) from employee

如果您检查了 JDBC 列名,它通常被称为与表达式相同的名称 - 即在行集中,该列可能按字面意思称为“max(salary)”,但它是特定于数据库且不可靠的。

你有两个选择:

  1. 使用列号(从一开始),例如rowset.get(1)
  2. 命名查询中的列,

IE

select max(salary) as max_salary from employee

我更喜欢第二种选择——它不那么脆弱,更容易理解。

于 2013-09-22T06:59:16.840 回答
0

它的列count(*)或类似的函数结果lower()未在查询中明确命名。

于 2013-09-22T07:01:50.173 回答
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 子句来保证。

于 2013-09-22T07:03:08.933 回答