错误:<column-name>是没有时区的时间,但表达式的类型为字符变化</column-name>

时间:2014-02-26 09:47:52

标签: java postgresql

我正在使用postgresql数据库。我从java类中将值插入数据库。我已经声明了没有时区的数据类型时间字段作为字符串。我不知道如何解析并将其发送到与数据类型匹配的数据库?我该怎么做?

public static void User(Form t)
{
String insertTableSQL = "INSERT INTO DBUSER"
    + "(USER_ID, USERNAME,CREATED_DATE) VALUES"
    + "(?,?,?)";
PreparedStatement ps = dbConnection.prepareStatement(insertTableSQL);
ps.setString(1, t.getUserID());
ps.setString(2, t.getuserName());
ps.setString(3, t.getTime());
ps.executeUpdate();
}

错误:错误:CREATED_DATE是没有时区的时间,但表达式的类型是字符变化 提示:尝试转换表达式

1 个答案:

答案 0 :(得分:2)

尝试添加显式类型转换

变化
+ "(?,?,?)";

+ "(?,?, CAST (? AS time))";