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

postgresql中的日期

爱刚捷
2023-03-14
Calendar date = Calendar.getInstance(); // wrong
Date date = new Date(); // wrong         

String addRecord = "INSERT INTO " + GlobalFields.PACJENCI_TABLE +
                                "VALUES (" + date + ");";
stat.executeUpdate(addRecord)
public static void CreatePacjenciTable()
{
    try
    {
        Connection conn = DataBase.Connect();

        try
        {
            Statement stat = conn.createStatement();

            String createTable = "CREATE TABLE " + GlobalFields.PACJENCI_TABLE 
                + "(dataUrodzenia DATE);";

            stat.executeUpdate(createTable);
        }
        finally
        {
            conn.close();
        }
    }
    catch(SQLException e)
    {
        e.printStackTrace();
    } 
}

共有1个答案

郎经纶
2023-03-14

你根本不应该那样做!

永远不要构造带有参数的SQL字符串。相反,创建一个PreparedStatement并在其上设置参数。像这样:

    String addRecord = "INSERT INTO " + GlobalFields.PACJENCI_TABLE + "VALUES (?);";
    PreparedStatement stmt = conn.prepareStatement(addRecord);
    stmt.setDate(1, new Date(System.currentTimeMillis()));
    stmt.executeUpdate();

注意date有一个java.sql.date,它是普通java.util.date的子类,其中一天的时间总是UTC午夜;它用来表示一个实际的日期,而不是时间上的一个时刻。您也可以使用java.sql.timestamp,它表示时间上的一个时刻。

 类似资料:
  • 问题内容: 我试图找出表中某些字段之间的时间。但是由于我正在使用Postgresql :(( 我无法使用DATEDIFF函数。我在网上找不到任何清晰的指南/教程,这些指南/教程显示了如何在Postgres中执行类似的操作,因此我需要做同样的事情的帮助但在Postgres 我假设如果我使用支持DATEDIFF函数的RDBMS,则此查询将起作用,因此,基本上我的问题是如何更改它,以便它使用Postgr

  • 日期/时间操作符 下表演示了基本算术操作符的行为(+,*, 等): 操作符 例子 结果 + date '2001-09-28' + integer '7' date '2001-10-05' + date '2001-09-28' + interval '1 hour' timestamp '2001-09-28 01:00:00' + date '2001-09-28' + time '03:0

  • 问题内容: 我有一个PostgreSQL函数来计算日期差: 如果直接减去日期,则会计算出差额。但是在我的情况下,日期在变量as和中存在,这导致了问题。 如何减去变量中包含的日期? 问题答案: 除错 你的函数是做可以做 很多 简单。语法错误的实际原因在这里: 看来您正在尝试转换为,这是毫无意义的,因为您的参数已声明为已经。 这也行不通。我在这里引用手册: 为避免语法歧义,“字符串”类型的语法只能用于

  • 问题内容: 功能: 我的要求是找出几年中两个日期之间的差异。所以,我写了上面的函数。在此,如果d1为NULL,则将其分配为当前日期。但是,它会产生如下所示的错误。 有没有人能帮助我解决这个问题。 问题答案: 尝试 : 函数以以下格式返回两个日期之间的年,月和天数: 从此输出中使用,以选择唯一的年份差异。也没有必要把if语句来处理,因为我已经添加返回第一值,所以,如果是它返回 功能结构: 函数调用:

  • 我有日期值,很少日期是完整的(格式:yyyy-mm-dd,但作为文本,而不是日期格式),但很少日期有缺失的月和日值,现在我必须添加缺失的月和日。示例:如果缺少日,则必须将该月的第一天添加到日期中,如果缺少月和日,则必须将1月1日添加到年部分中,在sql中,我可以简单地将数字连接起来,如下所示: 现在类似的连接必须在POSTGRESQL中完成,我尝试使用CAST和to_char以及其他一些函数,但我