Prepared Statement 으로 Oracle 에 날 짜 를 삽입 합 니 다.
표를 만 들 때 필드 의 기본 값 을 sysdate 로 설명 합 니 다. 다음 과 같 습 니 다.
create table examples
(
names varchar(10 ),
age number(3 ),
BirDate date default sysdate
)
insert 를 실행 할 때 insert 앞의 두 필드 만 있 으 면 BirDate 필드 는 현재 시간 으로 자동 으로 채 워 집 니 다. 다음 과 같 습 니 다.
insert into examples(names,age) values('helo',25);
이런 방법의 결점 은 융통성 이 부족 하 다 는 것 이다.
2. 삽입 할 날짜 가 연월일 이 라면 Prepared Statement 의 setDate () 방법 을 사용 하여 두 개의 인 자 를 받 아들 일 수 있 습 니 다. 첫 번 째 는 삽 입 된 필드 시퀀스 이 고 두 번 째 는 java. sql. DATE 형식의 날짜 입 니 다.
설정 표 구 조 는 다음 과 같다.
create table examples
(
names varchar(10 ),
age number(3 ),
BirDate date
)
먼저 획득 날짜:
java.util.Date utilDate = new java.util.Date();
// Convert it to java.sql.Date
java.sql.Date date = new java.sql.Date( utilDate .getTime());
PreparedStatement psmt = null;
String sqlstr = "insert into examples values(?,?,?)";
....
psmt.setDate(3,date);
psmt.executeUpdate();
3. 삽입 시간 이 초 까지 정확 하려 면 Prepared Statement 의 setTimestamp () 방법 을 사용 할 수 있 습 니 다. 이 방법 은 두 개의 인 자 를 받 아들 일 수 있 습 니 다. setTimestamp (int parameterIndex, Timestamp x).
표 구조 동상,
Timestamp 획득:
java.util.Date Dates = new java.util.Date();
java.sql.Timestamp time = new java.sql.Timestamp(Dates.getTime());
......
psmt.setTimestamp(3, time);