在MySQL中插入日期

时间:2016-04-12 10:46:08

标签: mysql sql jpa eclipselink

在进行JUnit测试时,我必须将值插入数据库。为此,我有一个文件(import.sql),其中包含各种测试的各种插入。它完美适用于约会。我如何格式化日期,以便MySQL能够将它们作为日期导入。

java实体

import java.util.Date;

@Entity
@Table(name = "TEST")
public class Test {

    @Column(name = "START")
    @Temporal(TemporalType.DATE)
    private Date startDate;

    @Column(name = "END"
    @Temporal(TemporalType.DATE)
    private Date endDate;

    // getter & setter
}    
来自import.sql的

片段

INSERT INTO TEST (START, END) VALUES ('2015-07-20 22:00:00.000', '2015-07-20 23:30:00.000')
INSERT INTO TEST (START, END) VALUES ('2015-08-18 21:00:00.000', '2015-08-18 22:30:00.000')

在这种情况下2015-08-18 21:00:00.000,但这不起作用。它会导致错误,告知格式不正确。

从import.sql加载

<property name="javax.persistence.sql-load-script-source"
        value="import.sql" />

如何格式化日期?

2 个答案:

答案 0 :(得分:2)

要匹配输入值2015-08-18 21:00:00.000START字段和END字段类型应为DATETIME(3)

答案 1 :(得分:1)

只需使用'2015-07-20 22:00:00',如果您没有以任何方式使用它们,请从最后删除秒的一小部分。 v5.6.4中添加了小数秒支持,因此如果您有早期版本,则可能存在兼容性问题。