SELECT语句中的列别名不适用于SQuirrel SQL Firebird
我尝试在SELECT语句中使用SQuirrel SQL 3.4 Firebird 1.5驱动程序JDBC Jaybird 2.2.[0 | 1](JVM 1.7.0_03)添加列别名,但不起作用.列别名显示为原始名称的列.在另一个工具(DBExpert)中,相同的语句工作正常.
语句:SELECT column1 AS alias1,column2 FROM table; 尝试添加’和“围绕别名,但也不工作. 有人有想法? 编辑:我将JDBC Jaybird驱动程序更新为2.2.1版本(9月/ 30日发布),问题依然存在. 编辑2:问题修复! 这个问题是由Squirrel SQL的默认偏好引起的. 要修复它,请转到“文件” – > “全局首选项”,在“数据类型控件”选项卡中,找到“常规(适用于所有类型)”,并标记组合框“使用列标签而不是结果标题中的列名称”. 见截图:http://i1-win.softpedia-static.com/screenshots/SQuirrel-SQL-Client_4.png?1345342622 请享用. 解决方法问题是由于JDBC规范(至少在历史上)的混乱以及Jaybird在结果集元数据中报告为columnNames和columnLabels的变化.据我所知JDBC 2.0和更早版本中,columnName和columnLabel之间的区别并没有很好的定义,所以在几乎所有情况下,getColumnName()返回的值与getColumnLabel()相同(如果指定了AS别名).使用JDBC 3.0做出了更清晰的区分:columnName是表中的基础列的名称(如果有),则columnLabel是指定的AS-alias,否则为columnName. Jaybird 2.1.6和更早版本用于为getColumnLabel()和getColumnName()(即columnLabel)返回相同的值,这在Jaybird 2.2中已更改. 显然松鼠默认为columnName的非JDBC兼容选项,而不是columnLabel.正如你已经发现的:有一个选项可以让它使用columnLabel.另一个选项是使用Jaybird 2.2.1或更高版本,并添加连接属性columnLabelForName = true. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 充分利用SQLServer2005的性能工具Performance Dashboard(之
- Vertica SQL中的Concat GROUP BY
- SQLserver中字符串查找功能patindex和charindex的区别
- sql-server – SQL Server Analysis Services和OLAP的开发人
- 详解MongoDB数据库基础操作及实例
- sqlserver调用webservice发送短信
- 数据库设计 – 具有快速(<1s)读取查询性能的大型(> 22万亿
- SQL Server手工插入标识列的方法
- 数据库 – 我应该删除(SQL和DB)什么吗?
- 数据库设计 – 在SQL中实现与多个参与约束的多对多关系