当前位置: 首页 > 知识库问答 >
问题:

如何使用HIVE JDBC驱动程序在列名中使用特殊字符?

薛高澹
2023-03-14

我有一个java程序正在使用HortonWorks的JDBC驱动程序连接到VirtualBox中的数据库。一切都运行得很好,但我在sql查询中的冒号有问题。

query = new StringBuilder("SELECT ROW_NUMBER() OVER() AS "+rowid+", * FROM "+tableName).toString();

我正在尝试设置的rowid是“:rowid:”。我在前面和后面添加冒号,使列名对于其他应用程序是唯一的。现在冒号必须在那里,我想知道是否有一种方法使用官方站点的Hortonworks JDBC Driver for Apache Hive(v1.0.36)来实现这一点。我已经测试了它没有冒号在那里,这将是工作的。

带冒号的错误消息为:

有人知道吗?我试图在字符串中添加'and\“,但它们都给出了错误。

共有1个答案

孙泳
2023-03-14

列名中的特殊字符应用后勾(`)字符括起来:

new StringBuilder("SELECT ROW_NUMBER() OVER() as `"+rowid+"`, * FROM "+tableName).toString();

有关更多详细信息,请阅读列名中支持带引号的标识符。

 类似资料:
  • 问题内容: 我的应用程序正在使用这样的NSURL: 当我试图做一个从这个NSURL获取数据的任务时,如下所示: 但是尝试从该地址获取数据时出现错误,尽管当我使用野生动物园去链接时:“ http://www.geonames.org/search.html?q =Aïn+Béïda+ Algeria&country =“我可以看到数据。我该如何解决? 问题答案: 迅捷2 编码的URL现在是: “ h

  • 问题内容: 如何在Java / Eclipse中使用/显示♥,♦,♣或like等字符? 当我尝试直接使用它们时,例如在源代码中,Eclipse无法保存文件。 我能做什么? 编辑:如何找到Unicode转义序列? 问题答案: 问题在于,您使用的字符无法在文件设置为(Cp1252)的编码中表示。从我的角度来看,您基本上有两个选择: 选项1. 更改编码。 根据IBM的介绍,您应该将编码设置为UTF-8。

  • 使用Vaadin 7,我创建了一个简单的登录表单,将用户名和密码传递给管理与Oracle系统的数据库连接的类。然后该类登录并创建一个会话。 以下凭据工作: 用户名:User1 密码:Password1 这些凭据会引发错误: 用户名:user1@email.com 密码:Password1 两者都是数据库中的有效用户。我已经在Oracle SQL Developer中使用了上述凭据来确认这一点。 我

  • 关于字符集和替代字形 除键盘上可看到的字符之外,字体中还包括许多字符。根据字体的不同,这些字符可能包括连字、分数字、花饰字、装饰字、序数字、标题和文体替代字、上标和下标字符、变高数字和全高数字。字形是特殊形式的字符。例如,在某些字体中,大写字母 A 有几种形式可用,如花饰字或小型大写字母。 插入替代字形的方式有三种: 可以使用选择上下文菜单来查看和插入适用于所选字符的字形。 可以使用“字形”面板来

  • 请帮我找到一个合适的解决办法 收集被存储的用户详细信息app_users 用户预订是存储预订的集合 我正在使用的查找(左连接)查询是 我想从用户集合中选择具有相应用户详细信息的预订,但返回为空,因为mongodb正在将字符串与objectId进行比较,所以是否有方法执行此任务?

  • 我有一个需求,需要从JAXB生成XML。我使用了基本对象,其中只有具有父子关系的键值对,但从未遇到过下面这样的情况。预期的XML 在Java对象中,我不知道如何使用特殊字符