Exception 在对列执行某些操作时,是否必须使用别名?
各位, 在对列执行某些操作时,是否必须使用别名 例如:从表1中选择上部(col1)Exception 在对列执行某些操作时,是否必须使用别名?,exception,db2,alias,Exception,Db2,Alias,各位, 在对列执行某些操作时,是否必须使用别名 例如:从表1中选择上部(col1) 当我试图通过rs.getString(“col1”)检索resultset时,它给出了这个异常 COM.ibm.db2.jdbc.DB2Exception:[ibm][jdbc Driver]CLI0611E列名无效。SQLSTATE=S0022 当我将查询更改为: 从表1中选择upper(col1)作为col1,并使用rs.getString(“col1”),工作正常 因此,在列上应用了诸如upper、trim
当我试图通过rs.getString(“col1”)检索resultset时,它给出了这个异常 COM.ibm.db2.jdbc.DB2Exception:[ibm][jdbc Driver]CLI0611E列名无效。SQLSTATE=S0022 当我将查询更改为:
从表1中选择upper(col1)作为col1,并使用rs.getString(“col1”),工作正常 因此,在列上应用了诸如upper、trim、lower之类的功能时,是否必须使用别名?? 我使用的是:DB28.2,类型2驱动程序 谢谢试试
rs.getString(“上限(col1)”)
?通常,结果中的列名包括应用于该列的任何函数。否则,您将无法获得类似于选择最小值(col1)、最大值(col1)…的结果。
表达式上限(col1)与col1不同
比较一下:
$ db2 "describe select col1 from session.t1"
SQLDA Information
sqldaid : SQLDA sqldabc: 1136 sqln: 20 sqld: 1
Column Information
sqltype sqllen sqlname.data sqlname.length
-------------------- ------ ------------------------------ --------------
453 CHARACTER 10 COL1 4
为此:
$ db2 "describe select upper(col1) from session.t1"
SQLDA Information
sqldaid : SQLDA sqldabc: 1136 sqln: 20 sqld: 1
Column Information
sqltype sqllen sqlname.data sqlname.length
-------------------- ------ ------------------------------ --------------
453 CHARACTER 10 1 1
请注意,每个结果集中的列名(sqlname.data)都不相同
因此,您要么使用列别名,要么使用rs.getString(“1”)