programing

java.sql ?에 해당하는 날짜/시간(java.sql.datetime이 있습니까?)

bestcode 2022. 9. 25. 00:28
반응형

java.sql ?에 해당하는 날짜/시간(java.sql.datetime이 있습니까?)

아직까지는 이에 대한 명확한 답을 찾지 못했습니다.

Prepared Statement를 사용하여 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.

이러한 타입을 사용하고 있는 경우는, 특정의 설정자를 호출할 필요는 없습니다.단, 다음과 같이 해 주세요.

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입니다.타임스탬프

자바에는 java.util이 있습니다.날짜 및 시간 값을 모두 처리할 날짜입니다.

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

Java 프로그램에서는 보통 항상 java.util을 사용합니다.따라서 Prepared Statements에서 Date/Times/DateTimes를 설정할 때마다 데이터베이스에 따라 항상 필요한 날짜를 정확히 선택하십시오.

내 Mysql에 SQL 날짜가 있고 내 앱에 로컬로 Date만 있는 것과 같은 문제가 있었다.

나는 이렇게 풀었다.

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

그 후 setDate를 정상적으로 사용하고 getTimestamp를 사용하여 첫 번째 값을 가져옵니다.

여기서 start는 날짜 객체입니다.

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

반응형