Nice programing

java.sql에 해당하는 datetime?

nicepro 2020. 12. 4. 20:34
반응형

java.sql에 해당하는 datetime? (java.sql.datetime이 있습니까?)


지금까지 이것에 대한 명확한 답을 찾지 못했습니다.

PreparedStatement를 사용하여 SQL 유형 DATETIME 및 Java 유형에 해당하는 것이 무엇인지 알고 싶습니다.

나는 발견했다 : http://www.java2s.com/Code/Java/Database-SQL-JDBC/StandardSQLDataTypeswithTheirJavaEquivalents.htm

그러나 SQL 유형 "DATETIME"은 sql.date와 동일하지만 SQL 날짜 문서 ( http://download.oracle.com/javase/7/docs/api/java/sql/Date. html ), 시간이 잘린다 (모두 0).

내가 원하는 것은 preparedStatement.setDateTime()또는 어떤 종류 를 지정할 수있는 것입니다.

내가 볼 수있는 유일한 다른 방법은 타임 스탬프를 사용하는 것입니다.하지만이 경우 열 유형을 변경해야하지만 다른 사람이 이전에이 문제를 경험 한 적이 없다고 상상할 수 없습니까?

힌트가 있습니까?

편집 : MYSQL을 사용하고 있습니다.


java.sql 패키지에는 세 가지 날짜 / 시간 유형이 있습니다.

마지막을 원합니다 : java.sql.Timestamp.

이러한 유형을 사용하는 경우 특정 setter를 호출 할 필요가 없습니다. 다음을 사용하십시오.

java.util.Date date = new Date();
Object param = new java.sql.Timestamp(date.getTime());
// The JDBC driver knows what to do with a java.sql type:
preparedStatement.setObject(param); 

MS SQL Server 또는 MySQL DATETIME 데이터 유형 또는 Oracle DATE 데이터 유형에 해당하는 것은 java.sql.Timestamp입니다.


SQL 날짜가있는 Mysql과 비슷한 문제가 있었고 내 앱에서 로컬로 Date 만있었습니다.

나는 이렇게 해결했다

java.sql.Date dataStartSql = new java.sql.Date(start.getTime());  

그 후 setDate를 정상적으로 사용하고 getTimestamp를 사용하여 첫 번째 값을 검색했습니다.

여기서 start는 Date 객체입니다.


Java에서는 날짜와 시간 값을 모두 처리하는 java.util.Date가 있습니다.

SQL에는 일반적으로 날짜 (날짜 만), 시간 (시간 만) 및 DateTime / Timestamp (날짜 및 시간)가 있습니다.

Java 프로그램에는 일반적으로 항상 java.util.Date가 있으므로 PreparedStatements에서 Dates / Times / DateTimes를 설정할 때마다 항상 데이터베이스에 따라 필요한 것을 정확히 선택하십시오.

참고 URL : https://stackoverflow.com/questions/6777810/a-datetime-equivalent-in-java-sql-is-there-a-java-sql-datetime

반응형