postgresql - 迄今为止的 Java Cast 字符串

标签 postgresql spring-mvc dao

如何将 java.lang.String 转换为 java.sql.Date 以获得以下值:'12/03/2016' ?

我试过这个:

@Override
public int insertNewApplication(StudenDetails sd)
{
    String sql = "INSERT INTO student_details"
            + "(applicant_name, applsex, "
            + "designation, date_of_superannuation, "
            + "ou_code, residential_address, "
            + "phone_no, mobile_no,email_id,token_user_id,token_password, "
            + "staff_status,office_type_code) VALUES (?, ?, ?,to(?,'DD/MM/YYYY'), ?, ?, ?, ?, ?, ?, ?,?,?)";

    return jdbcTemplate.update(sql, new Object[] {
            tpd.getApplicant_name(), tpd.getApplsex(),tpd.getDesignation(),tpd.getDate_of_superannuation(),tpd.getOu_code(),tpd.getResidential_address(),tpd.getPhone_no(),tpd.getMobile_no(),
            tpd.getEmail_id(),tpd.getToken_user_id(),tpd.getToken_password(),tpd.getStaff_status(),tpd.getOffice_type_code()
            });

}

最佳答案

不幸的是,在将字符串转换为日期时,并没有一种在 RDBMS 之间被广泛接受的标准方法。在您标记的 Postgres 中,您可以使用 to_date 函数:

to_date(?, 'DD/MM/YY')

恕我直言,更好的方法是在 Java 中进行这种转换,使您的应用程序更具可移植性:

private static final SimpleDateFormat FORMAT_CONVERTER = 

@Override
public int insertNewApplication(StudenDetails sd)
{
    String sql = "INSERT INTO student_details"
            + "(applicant_name, applsex, "
            + "designation, date_of_superannuation, "
            + "ou_code, residential_address, "
            + "phone_no, mobile_no,email_id,token_user_id,token_password, "
            + "staff_status,office_type_code) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,?,?)";
    Date date = FORMAT_CONVERTER.parse(tpd.getDate_of_superannuation());

    return jdbcTemplate.update(sql, new Object[] {
            tpd.getApplicant_name(), tpd.getApplsex(),tpd.getDesignation(),date,tpd.getOu_code(),tpd.getResidential_address(),tpd.getPhone_no(),tpd.getMobile_no(),
            tpd.getEmail_id(),tpd.getToken_user_id(),tpd.getToken_password(),tpd.getStaff_status(),tpd.getOffice_type_code()
            });
}

关于postgresql - 迄今为止的 Java Cast 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37177942/

相关文章:

mysql - 在 Postgres 中对相同的查询结果进行分组

php - laravel pgsql 中的 failed_jobs 表

java - 如何使用 PostgreSQL DB 插入当前日期和时间并以特定格式检索它?

spring - 配置 spring boot 将 404 重定向到单页应用

c++ - CDaoRecordset 如果字段存在于 MFC C++

postgresql - docker cp from local into container 得到了奇怪的用户组

java - 分页和排序

java - 在 Spring 中将服务 bean Autowiring 到 XML 定义的 bean 中

java - DAO 的集成测试应该在应用程序服务器中完成吗?

java - 寻找与 JPA 模型交互的通用库