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

Java JDBC中的Concat SQL[已关闭]

艾焕
2023-03-14

我想创建一个表,显示mysql中两个字段的串联,并将其放在Java中的一个(表)字段中。

 pst = connection.prepareStatement("select patientId,concat(pFirstname,' ', pLastname), pAge, pAddress from infopatient");

这是我收到的错误,但我的数据库中有pFirstname和pLastname。

共有1个答案

薄哲
2023-03-14

你有两个选择。首先,您可以使用序数访问结果集,例如:

java prettyprint-override">pst = connection.prepareStatement("SELECT patientId, CONCAT(pFirstname, ' ', pLastname), pAge, pAddress FROM infopatient");
ResultSet rs = pst.executeQuery();
while (rs.next()) {
    String fullName = rs.getString(2);  // access second column of your select
}

另一个选择,正如注释中暗示的那样,将只是给串联的字段一个别名,例如。

String sql = "SELECT patientId, CONCAT(pFirstname, ' ', pLastname) AS fullName, pAge, pAddress FROM infopatient"
pst = connection.prepareStatement(sql);
ResultSet rs = pst.executeQuery();
while (rs.next()) {
    String fullName = rs.getString("fullName");  // access via alias
}

我通常更喜欢第二个选项,因为它更直观、可读性更强,而且如果选择的顺序发生变化(而第一个版本不是),它也很健壮。

 类似资料:
  • 问题内容: 是否有一个名为JDBC中,而不是那些位置参数,比如在下面的查询? 问题答案: JDBC不支持命名参数。除非你必须使用普通的JDBC(这会造成麻烦,让我告诉你),否则我建议使用Springs Excellent JDBCTemplate,它可以在没有整个IoC容器的情况下使用。 NamedParameterJDBCTemplate支持命名参数,你可以像这样使用它们:

  • 我在springboot应用程序中使用webclient来调用外部restful web服务。间歇性地获取此异常。 在收到此异常之前,我在日志中看到以下警告。 这是完整的堆栈跟踪: 这是MessageServiceImpl.java 这里是客户端组件类 在下面的配置中,我在SSLContext中添加了信任存储。 下面是应用程序属性文件 我已经尝试通过下面链接中给出的解决方案来解决这个问题,但是没有

  • 我正在使用JavaJDBC将日期写入SQLServer2008,然后将其读回 读回的日期始终比实际写入的日期早两天。 我正在插入包含日期字段的行,其中包含准备好的语句。日期值由以下人员提供: 将日期写入数据库后,如果我运行以下命令,SQL server将显示正确的日期: 如果我通过JDBC运行相同的查询,然后使用以下方法从结果集中检索日期值 插入的行是表中唯一具有非空日期的行,因此这似乎不是读取错

  • 想改进这个问题吗?通过编辑这篇文章添加细节并澄清问题。 我用ViewBag创建了我的网站,但从Java我知道有getter和setter。我知道如何创建这个getter和setter,但不知道如何在CSHTML文件中获取值?我试过了: 谢谢你的帮助 控制器: 型:

  • 是否有任何开源的MP4 muxer/writer java项目(源代码用java编写,没有本机代码)可用?

  • 最近,我的文本颜色是VS代码中js、jsx、ts、tsx文件的颜色。 我真的不知道发生了什么,但它突然不起作用了。 如您所见,该文件被检测为打字稿反应文件,但我没有任何文本着色。