2012-09-05 9 views
0

유형이 START_TS 인 하나의 열 (datetime, null이 아님)이있는 데이터베이스가 하나 있습니다. 자바에서 열에 빈 값을 삽입하고자 하나의 프로그램을 작성했지만 그 값은
'1900-01-01 00 : 00 : 00.000'입니다.SQL 데이터베이스 날짜 열에 빈 값을 삽입하는 방법은 무엇입니까?

statement.executeUpdate("insert into tableName(START_TS) values(CAST(START_TS as varchar(100)))"); 

해당 열에 공백 값을 삽입 할 수있는 캐스팅 메커니즘을 제안하십시오.

감사합니다.

+1

열 제한 조건이 NULL이면 'NULL'을 삽입하십시오. tableName (START_TS) values ​​(NULL) – adatapost

+1

에 삽입하면 null을 사용할 수있는 날짜의 경우 공백을 삽입 할 수 없습니다. –

+0

null contraint를 제거하면 null을 추가 할 수 있습니다. 그렇지 않은 경우 아무런 옵션이 없다고 가정합니다. –

답변

1

구문을 가리키는 MYSQL을 사용하는 경우; 다음을 수행 할 수 있습니다 :

ALLOW_INVALID_DATES

날짜의 전체 검사를 수행하지 마십시오. 달이 이고 범위가 1에서 12 사이이고 일의 범위가 1에서 31 사이 인 달인지 확인하십시오.이 은 년, 월, 및 날짜를 ​​세 가지 필드로 얻은 웹 응용 프로그램에 매우 유용하며 정확히 사용자를 삽입 (날짜 유효성 검사없이)하고 싶습니다. 이 모드는 DATE 및 DATETIME 열에 적용됩니다. 에는 항상 유효한 날짜가 필요한 TIMESTAMP 열은 적용되지 않습니다.

이 모드는 MySQL 5.0.2에서 구현됩니다. 5.0.2 이전에는 기본 MySQL 날짜 처리 모드였습니다. 5.0.2 현재, 서버는 각각 이 필요합니다. 월 및 일 값은 합법적이어야하며 1에서 12 및 1에서 31 사이의 값이 아닙니다. 엄격 모드가 사용 중지 된 경우 '2004-04-31'과 같은 유효하지 않은 날짜 은 '0000-00-00'으로 변환되고 경고는 으로 생성됩니다. 엄격 모드를 사용하면 유효하지 않은 날짜가 오류를 생성합니다. 이러한 날짜를 허용하려면 ALLOW_INVALID_DATES를 사용하십시오.

그러나 모든 사람들이 의견에서 말했듯이 데이터 유형이 DATETIME 인 필드에는 ""을 사용할 수 없습니다.

관련 문제