5
1348560343598
과 같은 유닉스 타임 스탬프 값을 H2 Timestamp
으로 변환하려면 어떻게해야합니까?유닉스 타임 스탬프를 H2 타임 스탬프로 변환
내 테이블 중 하나에 BIGINT(19)
열에 이러한 유닉스 타임 스탬프가 포함되어 있으며이 테이블을 TIMESTAMP
유형의 열로 변환해야합니다.
1348560343598
과 같은 유닉스 타임 스탬프 값을 H2 Timestamp
으로 변환하려면 어떻게해야합니까?유닉스 타임 스탬프를 H2 타임 스탬프로 변환
내 테이블 중 하나에 BIGINT(19)
열에 이러한 유닉스 타임 스탬프가 포함되어 있으며이 테이블을 TIMESTAMP
유형의 열로 변환해야합니다.
좋아, 다음 공식을 사용하여 작동합니다
select DATEADD('SECOND', 1348560343, DATE '1970-01-01')
그냥, 당신이
Numeric value out of range
을 얻을 것이다 작동하지 않습니다
'MILLISECOND'
을 사용하여 1000와 타임 스탬프를 분할해야합니다.
밀리 초가 작동하지 않습니다. 예, 동일한 문제가 발생했습니다. 이것은 실제로 내부적으로 사용되는'Calendar.add (int field, int amount)'의 한계입니다. H2는 시간대 문제 때문에 대부분의 날짜/시간 기능에 대해 더 이상 java.util.Calendar를 사용하지 않지만이 경우에도 여전히 사용됩니다. –
이것은 실제로 JVM 시간을 가리 킵니다 (그래서 UTC가되도록 강요 할 수 없기 때문에 데이터베이스에 타임 스탬프를 저장하는 것이 더 의미가 있습니다). – marios