집 >데이터 베이스 >MySQL 튜토리얼 >JDBC에서 '0000-00-00 00:00:00' DATETIME 값을 처리하는 방법은 무엇입니까?
문제가 있는 '0000-00-00 00:00:00' DATETIME 준 널(quasi-null) 상태를 나타내는 값은 값을 검색하려고 시도할 때 종종 예외를 트리거합니다. ResultSet.getString()을 사용하여 문자열을 생성합니다. 이 문제를 해결하려면 다음 옵션을 고려하십시오.
1. CHAR로 캐스팅
데이터베이스에 나타나는 원시 DATETIME 문자열을 얻으려면 MySQL 관련 쿼리를 사용합니다:
SELECT CAST(add_date AS CHAR) AS add_date
2. JDBC URL 구성
또는 JDBC URL에 zeroDateTimeBehavior=convertToNull을 추가할 수 있습니다.
jdbc:mysql://yourserver:3306/yourdatabase?zeroDateTimeBehavior=convertToNull
이렇게 하면 JDBC가 '0000-00-00 00:00:00을 변환하도록 구성됩니다. ' 값을 NULL로 설정하여 트리거하지 않고도 해당 값을 검색할 수 있습니다. 예외.
3. zeroDateTimeBehavior 구성 속성
Connector/J 버전 3.1 이상의 경우 zeroDateTimeBehavior 속성은 더 많은 사용자 정의를 제공합니다. 예외, ConvertToNull 또는 라운드로 설정하면 DATETIME 값이 처리되는 방식을 지정할 수 있습니다.
이 구성 속성에 대한 자세한 내용은 MySQL 설명서를 참조하세요.
참고: MySQL Connector/J 5.1.15에서는 버그가 zeroDateTimeBehavior=convertToNull 기능에 영향을 미쳤습니다. 버그 수정에 대한 업데이트는 공식 웹사이트의 CHANGELOGS를 참조하세요.
위 내용은 JDBC에서 '0000-00-00 00:00:00' DATETIME 값을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!